:root{color-scheme:dark;--bg:#10151d;--panel:#171e28;--text:#f0f3f7;--muted:#b4bfce;--rule:#303b4a;--blue:#8ab8fb;--surface:#edf2f8;--ink:#1c2c42;--max:1264px;font-family:Inter,"Segoe UI",Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-size:1rem;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:5px}img{display:block;max-width:100%}::selection{background:#386797;color:white}.wrap{width:min(var(--max),calc(100% - 96px));margin:auto}.skip{position:absolute;top:-80px;left:24px;padding:12px 20px;background:var(--surface);color:var(--ink);z-index:20}.skip:focus{top:12px}.masthead{display:flex;justify-content:space-between;align-items:center;min-height:90px;border-bottom:1px solid var(--rule);gap:24px}.brand{display:flex;align-items:center;gap:15px;font-size:.875rem;letter-spacing:.07em}.mark{width:30px;height:30px;border:1px solid #689adf;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;align-items:end;padding:6px}.mark i{display:block;background:var(--blue)}.mark i:nth-child(1){height:7px}.mark i:nth-child(2){height:13px}.mark i:nth-child(3){height:17px}.author{font-size:.875rem;color:var(--muted)}.hero{padding:64px 0 48px}.eyebrow{font-size:.75rem;letter-spacing:.115em;font-weight:600;line-height:1.7;color:var(--blue);margin:0}.hero h1{font-size:clamp(2.5rem,5.5vw,4.6rem);font-weight:500;line-height:1.1;letter-spacing:-.045em;max-width:850px;margin:0 0 24px}.hero .intro{font-size:1.2rem;line-height:1.5;color:var(--muted);max-width:780px;margin:0}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.project-card{background:var(--panel);border:1px solid var(--rule);border-radius:3px;overflow:hidden;display:flex;flex-direction:column}.card-copy{padding:28px 30px 22px;flex:1}.card-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:14px}.index{font-family:"Consolas",monospace;font-size:.8rem;color:#97a6bb}.project-card h2{font-size:1.8rem;font-weight:500;letter-spacing:-.025em;line-height:1.25;max-width:440px;margin:0 0 16px}.description{margin:0;color:var(--muted);line-height:1.65;font-size:1rem}.workflow{list-style:none;padding:0;margin:25px 0 0;display:flex;flex-wrap:wrap;column-gap:9px;row-gap:9px;align-items:baseline;font-size:.875rem;line-height:1.7;color:#e3eaf4;font-weight:500}.workflow li{display:inline;max-width:100%;overflow-wrap:anywhere}.workflow li:not(:last-child)::after{content:"→";margin-left:9px;color:var(--blue)}.technology{font-size:.8rem;line-height:1.8;color:#a5b3c6;margin:18px 0 0}.stat-strip{display:flex;flex-wrap:wrap;gap:6px 15px;font-size:.8rem;font-family:"Consolas",monospace;color:#c5d4e8;margin:20px 0 0}.card-visual{margin:0 20px 0;border:1px solid #344252;border-radius:2px;overflow:hidden;aspect-ratio:16/9;background:var(--surface);display:flex;align-items:center;justify-content:center}.card-visual img{width:100%;height:100%;object-fit:contain}.draft-visual{width:100%;height:100%;padding:24px;color:var(--ink);display:flex;flex-direction:column;justify-content:center;background:var(--surface)}.draft-visual .draft-label{font-family:"Consolas",monospace;font-size:.75rem;letter-spacing:.09em;color:#55708e;margin:0 0 24px;text-transform:uppercase}.system-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.system-flow span{border:1px solid #b8c9df;border-top:2px solid #477dbc;padding:12px 9px;display:flex;align-items:center;min-height:58px;font-size:.82rem;line-height:1.45;font-weight:600}.card-bottom{padding:23px 30px;display:flex;justify-content:space-between;align-items:center;gap:20px}.cta{font-size:.875rem;font-weight:600;display:inline-flex;align-items:center;gap:15px;color:var(--blue)}.cta:hover{color:#c2dcff}.arrow{font-size:1.1rem}.project-label{font-family:"Consolas",monospace;font-size:.75rem;color:#8d9db4}.project-card:nth-child(n+3) h2{font-size:1.55rem}.project-card:nth-child(n+3) .card-visual{aspect-ratio:1.9}.rbc{margin-top:28px;border:1px solid var(--rule);padding:28px 30px;display:grid;grid-template-columns:1fr 1.3fr;gap:40px}.rbc .eyebrow{color:#a5b3c6}.rbc h2{font-size:1.4rem;font-weight:500;letter-spacing:-.02em;line-height:1.4;margin:8px 0}.rbc .context{font-size:.8rem;color:#96a7bd;margin:0}.rbc .description{font-size:.95rem;margin-top:2px}.footer{display:flex;justify-content:space-between;align-items:baseline;gap:24px;border-top:1px solid var(--rule);margin-top:56px;padding:28px 0 40px;font-size:.875rem;color:var(--muted)}.footer strong{color:var(--text);font-weight:500}.footer p{margin:0}.draft-note{margin:0;padding:10px 24px;text-align:center;font-size:.8rem;line-height:1.5;background:#21334d;color:#cedff7}.detail-header{padding:38px 0 36px;border-bottom:1px solid var(--rule)}.back{display:inline-block;font-size:.875rem;color:var(--muted);margin-bottom:38px}.back:hover{color:var(--text)}.detail-header h1{font-size:clamp(2.3rem,4.5vw,3.7rem);font-weight:500;letter-spacing:-.04em;line-height:1.13;max-width:900px;margin:15px 0 22px}.detail-header .description{max-width:940px;font-size:1.1rem}.detail-header .technology{margin-top:18px}.detail-header .workflow{font-size:1rem;gap:10px 14px}.external-links{display:flex;flex-wrap:wrap;gap:16px 32px;margin-top:24px}.evidence{padding-top:36px}.evidence-block{margin:0 0 44px;display:grid;grid-template-columns:1fr 250px;gap:28px;align-items:start}.evidence-block.hero-evidence{display:block}.evidence-media{width:100%;border:1px solid var(--rule);border-radius:2px;background:#eaf0f7;overflow:hidden}.evidence-media img{width:100%;height:auto;max-height:900px;object-fit:contain}.image-open{cursor:zoom-in;border:0;background:none;padding:0;width:100%;display:block;text-align:left;color:inherit}.evidence-block figcaption{padding:8px 0}.evidence-block.hero-evidence figcaption{display:flex;justify-content:space-between;gap:24px;margin-top:10px}.evidence-block h2{font-size:1.3rem;font-weight:500;line-height:1.4;margin:0 0 8px}.evidence-block p{font-size:.95rem;color:var(--muted);margin:0}.evidence-missing{border:1px dashed #526681;margin:36px 0 56px;padding:30px;max-width:800px}.evidence-missing h2{font-size:1.25rem;font-weight:500;margin:0 0 12px}.evidence-missing p{color:var(--muted);margin:0}.evidence-missing ul{color:var(--muted);padding-left:20px;margin-bottom:0}.lightbox{background:#0d1219;color:var(--text);border:1px solid var(--rule);width:calc(100% - 48px);max-width:1500px;max-height:calc(100dvh - 48px);padding:20px}.lightbox::backdrop{background:#05090ee8}.lightbox-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:16px}.lightbox-top p{margin:0;color:var(--muted);font-size:.875rem}.lightbox-close{padding:10px 18px;background:#26364d;color:white;border:1px solid #536b8a;cursor:pointer}.lightbox img{max-width:100%;max-height:calc(100dvh - 170px);object-fit:contain;margin:auto}.lightbox a{display:block;text-align:center;margin-top:14px;font-size:.875rem;color:var(--blue)}
@media(min-width:1500px){.hero{padding-top:78px}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.card-copy{padding:24px}.project-card h2{font-size:1.55rem}.card-bottom{padding:22px 24px}.rbc{grid-template-columns:1fr 1.15fr;gap:24px}.system-flow span{font-size:.75rem;padding:9px 7px}.draft-visual{padding:18px}.evidence-block{grid-template-columns:1fr 210px}}
@media(max-width:700px){.wrap{width:calc(100% - 36px)}.masthead{min-height:74px;gap:12px}.brand{font-size:.75rem;gap:10px;letter-spacing:.025em}.brand-text{max-width:165px;line-height:1.4}.author{font-size:.75rem}.mark{width:27px;height:27px;flex-shrink:0;padding:4px}.hero{padding:40px 0 30px}.hero h1{font-size:2.55rem;line-height:1.1;margin-bottom:20px;max-width:440px}.hero .intro{font-size:1rem}.projects-grid{grid-template-columns:1fr;gap:20px}.card-copy{padding:23px 22px 20px}.project-card h2{font-size:1.65rem;margin-bottom:14px}.card-top{gap:12px}.eyebrow{font-size:.75rem;letter-spacing:.07em}.workflow{margin-top:20px;font-size:.875rem;column-gap:7px;row-gap:8px}.workflow li:not(:last-child)::after{margin-left:7px}.technology{font-size:.8rem}.card-visual{margin:0 15px;aspect-ratio:1.55}.project-card:nth-child(n+3) .card-visual{aspect-ratio:1.65}.card-bottom{padding:21px 22px}.system-flow span{font-size:.75rem;padding:9px 7px;min-height:55px}.draft-visual{padding:18px}.draft-visual .draft-label{margin-bottom:17px}.rbc{grid-template-columns:1fr;gap:12px;padding:24px 22px;margin-top:20px}.rbc h2{font-size:1.4rem}.rbc .description{font-size:.95rem}.footer{flex-direction:column;gap:8px;margin-top:36px;padding:25px 0 32px;font-size:.8rem}.draft-note{font-size:.75rem;padding:9px 18px}.detail-header{padding-top:25px}.back{margin-bottom:28px}.detail-header h1{font-size:2.4rem}.detail-header .description{font-size:1rem}.detail-header .workflow{font-size:.875rem;gap:9px}.evidence-block{grid-template-columns:1fr;gap:12px;margin-bottom:32px}.evidence-block.hero-evidence figcaption{display:block}.evidence-block h2{font-size:1.2rem}.evidence-missing{padding:23px}.lightbox{width:calc(100% - 20px);padding:14px;max-height:calc(100dvh - 20px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
