:root{--ykb: #002fa7;--black: #0a0a0a;--white: #ffffff;--muted: rgba(255, 255, 255, .72);--panel: #ffffff;--danger: #b00020;--font-display: "Clash Display", "Arial Black", sans-serif;--font-body: "Satoshi", "Helvetica Neue", sans-serif;--panel-w: min(360px, 100%)}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font-body);color:var(--black);background:var(--ykb);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}a{color:inherit}.app-shell{position:relative;z-index:1;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding:clamp(1.5rem,5vw,3.5rem)}.bg-lines{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden;color:#ffffff47}.bg-lines__svg{width:100%;height:100%;display:block}.bg-lines__grid-fill{opacity:.35}.bg-lines__grid{stroke:currentColor;stroke-width:1;opacity:.45}.bg-lines__network .bg-lines__path{stroke-width:1.5;stroke-dasharray:18 220;animation:line-drift 22s linear infinite}.bg-lines__network .bg-lines__path:nth-child(2n){animation-duration:28s;animation-direction:reverse;opacity:.85}.bg-lines__network .bg-lines__path:nth-child(3n){animation-duration:34s;animation-delay:-6s;opacity:.7}.bg-lines__shield{opacity:.55}.bg-lines__path--shield{stroke-width:2;stroke-dasharray:24 420;animation:line-drift 40s linear infinite}.bg-lines__path--lock{stroke-width:1.75;stroke-dasharray:10 160;animation:line-drift 26s linear infinite reverse}.bg-lines__node{opacity:.55;animation:node-pulse 4.5s ease-in-out infinite}.bg-lines__node:nth-child(3n){animation-delay:-1.5s}.bg-lines__node:nth-child(3n+1){animation-delay:-3s}@keyframes line-drift{to{stroke-dashoffset:-900}}@keyframes node-pulse{0%,to{opacity:.3}50%{opacity:.95}}@media(prefers-reduced-motion:reduce){.bg-lines__path,.bg-lines__node{animation:none}.bg-lines__path{stroke-dasharray:none}.bg-lines__node{opacity:.45}}.brand{font-family:var(--font-display);font-weight:700;font-size:clamp(1.35rem,2.5vw,1.85rem);letter-spacing:-.03em;color:var(--white);text-decoration:none;line-height:1;flex-shrink:0}.brand span{opacity:.85;font-weight:600}.hero-row{display:grid;grid-template-columns:minmax(0,1fr) var(--panel-w);gap:clamp(2rem,5vw,4.5rem);align-items:center;flex:1;max-width:1040px;margin:0 auto;width:100%;padding:clamp(2.5rem,8vh,5rem) 0}.hero-copy h1{font-family:var(--font-display);font-weight:700;font-size:clamp(2rem,5.5vw,3.75rem);line-height:.98;letter-spacing:-.04em;color:var(--white);margin:.75rem 0;text-wrap:balance}.hero-copy p{color:var(--muted);font-size:clamp(.95rem,1.5vw,1.1rem);max-width:26ch;line-height:1.45;margin:0}.panel{background:var(--panel);color:var(--black);padding:1.25rem 1.35rem;width:100%}.panel-fixed{min-height:520px;display:flex;flex-direction:column}.panel-fixed>form,.panel-fixed>.success-panel{flex:1;display:flex;flex-direction:column}.panel h2{font-family:var(--font-display);font-size:1.2rem;margin:0 0 .9rem;letter-spacing:-.02em}.dropzone{border:2px dashed var(--black);padding:1.25rem 1rem;text-align:center;cursor:pointer;transition:background .15s ease;margin-bottom:.9rem}.dropzone:hover,.dropzone.active{background:#f3f5ff}.dropzone strong{display:block;font-size:.95rem;margin-bottom:.25rem}.dropzone span{font-size:.8rem;opacity:.65}.file-list{list-style:none;margin:0 0 .9rem;padding:0;max-height:96px;overflow:auto}.file-list li{display:flex;justify-content:space-between;gap:.75rem;padding:.35rem 0;border-bottom:1px solid #e8e8e8;font-size:.82rem}.file-list button{border:0;background:none;cursor:pointer;text-decoration:underline;padding:0;flex-shrink:0}.field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.65rem}.field label{font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.field input,.field select{border:2px solid var(--black);background:var(--white);padding:.55rem .65rem;outline:none;font-size:.92rem}.field input:focus,.field select:focus{border-color:var(--ykb)}.hint{font-size:.78rem;opacity:.7;margin:-.2rem 0 .75rem;line-height:1.35}.btn{display:inline-flex;align-items:center;justify-content:center;width:100%;border:0;background:var(--ykb);color:var(--white);font-weight:700;padding:.75rem 1rem;cursor:pointer;letter-spacing:.01em;font-size:.92rem;margin-top:auto}.btn:disabled{opacity:.45;cursor:not-allowed}.error{color:var(--danger);font-size:.82rem;margin:0 0 .65rem}.progress{margin:.5rem 0 .75rem}.progress-bar{height:5px;background:#e5e5e5;overflow:hidden}.progress-bar>span{display:block;height:100%;background:var(--ykb);transition:width .2s ease}.progress p{margin:.35rem 0 0;font-size:.78rem;opacity:.7}.success-panel{text-align:left}.success-panel p{font-size:.9rem;line-height:1.45;margin:0 0 .75rem}.success-panel .warn{margin:.75rem 0;padding:.75rem;border:2px solid var(--black);font-weight:500;line-height:1.4;font-size:.85rem}.success-panel .link-box{margin:.75rem 0;word-break:break-all;font-size:.8rem}.footer-note{color:var(--muted);font-size:.78rem;margin-top:auto;padding-top:1.5rem;flex-shrink:0}.center-card{width:var(--panel-w);max-width:100%;margin:auto}.file-actions{display:flex;flex-direction:column;gap:.55rem;max-height:360px;overflow:auto}.file-row{display:flex;flex-direction:column;gap:.5rem;border:2px solid var(--black);padding:.65rem}.file-preview{display:block;width:100%;max-height:160px;object-fit:contain;background:#f5f5f5;border:0}.file-preview-loading{min-height:72px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;font-size:.78rem;opacity:.65}.file-row-meta{display:flex;flex-direction:column;gap:.35rem}.file-row-meta strong{font-size:.88rem;font-weight:600;word-break:break-word}.file-row-meta small{opacity:.55;font-size:.75rem}.file-row .btn{margin-top:0;width:100%}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fade-up .5s ease both}.animate-in.delay{animation-delay:.1s}@media(max-width:840px){.hero-row{grid-template-columns:1fr;align-items:stretch;gap:1.75rem;padding:1.75rem 0 1rem}.hero-copy h1{font-size:clamp(1.85rem,9vw,2.6rem);margin-top:.5rem}.hero-copy p{max-width:none}.panel-fixed{min-height:440px}.center-card{margin-top:2rem!important}}@media(max-width:420px){.app-shell{padding:1.15rem}.panel{padding:1rem}}@media(prefers-reduced-motion:reduce){.animate-in{animation:none}}
