@import"https://fonts.googleapis.com/css2?family=Syne:wght@600;700;800&family=IBM+Plex+Mono:wght@400;500&family=DM+Sans:ital,wght@0,400;0,500;1,400&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.fieldshield-real-input{font-family:ui-monospace,Menlo,Consolas,monospace}:root{--fieldshield-font-family: inherit;--fieldshield-font-size: .9375rem;--fieldshield-line-height: 1.5;--fieldshield-padding-y: .5rem;--fieldshield-padding-x: .75rem;--fieldshield-gap: .375rem;--fieldshield-findings-gap: .375rem;--fieldshield-min-height: 2.5rem;--fieldshield-border-radius: .375rem;--fieldshield-tag-border-radius: .25rem;--fieldshield-bg: #ffffff;--fieldshield-border-color: #d1d5db;--fieldshield-border-color-focus: #3b82f6;--fieldshield-text-color: #111827;--fieldshield-placeholder-color: #9ca3af;--fieldshield-label-color: #374151;--fieldshield-caret-color: #111827;--fieldshield-unsafe-border-color: #f59e0b;--fieldshield-unsafe-bg: #fffbeb;--fieldshield-unsafe-focus-ring: #f59e0b;--fieldshield-warning-color: #92400e;--fieldshield-tag-bg: #fde68a;--fieldshield-tag-color: #78350f;--fieldshield-mask-color: #111827;--fieldshield-mask-blocked-color: #b45309;--fieldshield-focus-ring-width: 3px;--fieldshield-focus-ring-offset: 2px;--fieldshield-transition-duration: .15s;--fieldshield-transition-easing: ease-in-out}.fieldshield-container{position:relative;display:flex;flex-direction:column;gap:var(--fieldshield-gap);width:100%;font-family:var(--fieldshield-font-family);font-size:var(--fieldshield-font-size);line-height:var(--fieldshield-line-height)}.fieldshield-label{display:block;color:var(--fieldshield-label-color);font-weight:500;cursor:default;-webkit-user-select:none;user-select:none}.fieldshield-field-wrapper{position:relative;min-height:var(--fieldshield-min-height);border:1px solid var(--fieldshield-border-color);border-radius:var(--fieldshield-border-radius);background-color:var(--fieldshield-bg);transition:border-color var(--fieldshield-transition-duration) var(--fieldshield-transition-easing),background-color var(--fieldshield-transition-duration) var(--fieldshield-transition-easing),box-shadow var(--fieldshield-transition-duration) var(--fieldshield-transition-easing)}.fieldshield-mask-layer{position:absolute;inset:0;display:flex;align-items:center;padding:var(--fieldshield-padding-y) var(--fieldshield-padding-x);color:var(--fieldshield-mask-color);font-family:var(--fieldshield-font-family);font-size:var(--fieldshield-font-size);font-weight:inherit;line-height:var(--fieldshield-line-height);text-align:start;text-indent:0;text-transform:none;font-variant-ligatures:none;font-kerning:none;-webkit-hyphens:none;hyphens:none;letter-spacing:0;word-spacing:0;white-space:pre-wrap;word-break:break-all;pointer-events:none;-webkit-user-select:none;user-select:none;overflow:hidden}.fieldshield-field-wrapper[data-type=textarea] .fieldshield-mask-layer{display:block}.fieldshield-mask-layer .fieldshield-blocked{color:var(--fieldshield-mask-blocked-color)}.fieldshield-placeholder{color:var(--fieldshield-placeholder-color);font-style:normal}.fieldshield-mask-unsafe{background-color:var(--fieldshield-unsafe-bg)}.fieldshield-grow{visibility:hidden;display:block;width:100%;min-height:var(--fieldshield-min-height);padding:var(--fieldshield-padding-y) var(--fieldshield-padding-x);font-family:var(--fieldshield-font-family);font-size:var(--fieldshield-font-size);font-weight:inherit;line-height:var(--fieldshield-line-height);text-align:start;text-indent:0;text-transform:none;font-variant-ligatures:none;font-kerning:none;-webkit-hyphens:none;hyphens:none;letter-spacing:0;word-spacing:0;white-space:pre-wrap;word-break:break-all;pointer-events:none;-webkit-user-select:none;user-select:none;box-sizing:border-box}.fieldshield-field-wrapper[data-type=textarea]{overflow:visible;min-height:calc(2 * var(--fieldshield-line-height) * var(--fieldshield-font-size) + 2 * var(--fieldshield-padding-y))}.fieldshield-field-wrapper[data-type=textarea] .fieldshield-grow{min-height:calc(2 * var(--fieldshield-line-height) * var(--fieldshield-font-size) + 2 * var(--fieldshield-padding-y))}.fieldshield-real-input{position:absolute;inset:0;width:100%;height:100%;padding:var(--fieldshield-padding-y) var(--fieldshield-padding-x);font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,DejaVu Sans Mono,monospace!important;font-size:var(--fieldshield-font-size);font-weight:inherit;line-height:var(--fieldshield-line-height);text-align:start;text-indent:0;letter-spacing:0;word-spacing:0;color:transparent;caret-color:var(--fieldshield-caret-color);background:transparent;border:none;border-radius:var(--fieldshield-border-radius);outline:none;resize:none;cursor:text}.fieldshield-real-input::selection{color:transparent;background-color:color-mix(in srgb,var(--fieldshield-border-color-focus) 30%,transparent)}.fieldshield-a11y-input{display:block;width:100%;min-height:var(--fieldshield-min-height);padding:var(--fieldshield-padding-y) var(--fieldshield-padding-x);font-family:var(--fieldshield-font-family);font-size:var(--fieldshield-font-size);line-height:var(--fieldshield-line-height);color:var(--fieldshield-text-color);background-color:var(--fieldshield-bg);border:1px solid var(--fieldshield-border-color);border-radius:var(--fieldshield-border-radius);outline:none;box-sizing:border-box;transition:border-color var(--fieldshield-transition-duration) var(--fieldshield-transition-easing),box-shadow var(--fieldshield-transition-duration) var(--fieldshield-transition-easing)}.fieldshield-a11y-input::placeholder{color:var(--fieldshield-placeholder-color)}.fieldshield-real-input::placeholder{color:transparent}.fieldshield-findings{display:flex;flex-wrap:wrap;align-items:center;gap:var(--fieldshield-findings-gap);min-height:0;font-size:.8125rem;line-height:1.4}.fieldshield-warning-icon{color:var(--fieldshield-warning-color);flex-shrink:0}.fieldshield-warning-text{color:var(--fieldshield-warning-color);font-weight:500}.fieldshield-tag{display:inline-flex;align-items:center;padding:.125rem .4375rem;background-color:var(--fieldshield-tag-bg);color:var(--fieldshield-tag-color);border-radius:var(--fieldshield-tag-border-radius);font-size:.75rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}.fieldshield-sr-only:not(:focus):not(:active){position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border-width:0}.fieldshield-field-wrapper:has(input[aria-invalid=true]),.fieldshield-a11y-input[aria-invalid=true]{border-color:var(--fieldshield-unsafe-border-color);background-color:var(--fieldshield-unsafe-bg)}.fieldshield-field-wrapper:focus-within{border-color:var(--fieldshield-border-color-focus);box-shadow:0 0 0 var(--fieldshield-focus-ring-width) color-mix(in srgb,var(--fieldshield-border-color-focus) 25%,transparent);outline:none}.fieldshield-field-wrapper:has(input[aria-invalid=true]):focus-within{border-color:var(--fieldshield-unsafe-focus-ring);box-shadow:0 0 0 var(--fieldshield-focus-ring-width) color-mix(in srgb,var(--fieldshield-unsafe-focus-ring) 25%,transparent)}.fieldshield-a11y-input:focus{border-color:var(--fieldshield-border-color-focus);box-shadow:0 0 0 var(--fieldshield-focus-ring-width) color-mix(in srgb,var(--fieldshield-border-color-focus) 25%,transparent);outline:none}.fieldshield-a11y-input[aria-invalid=true]:focus{border-color:var(--fieldshield-unsafe-focus-ring);box-shadow:0 0 0 var(--fieldshield-focus-ring-width) color-mix(in srgb,var(--fieldshield-unsafe-focus-ring) 25%,transparent)}@media(prefers-color-scheme:dark){:root{--fieldshield-bg: #1f2937;--fieldshield-border-color: #4b5563;--fieldshield-border-color-focus: #60a5fa;--fieldshield-text-color: #f9fafb;--fieldshield-placeholder-color: #6b7280;--fieldshield-label-color: #d1d5db;--fieldshield-caret-color: #f9fafb;--fieldshield-mask-color: #f9fafb;--fieldshield-unsafe-border-color: #d97706;--fieldshield-unsafe-bg: #1c1508;--fieldshield-unsafe-focus-ring: #d97706;--fieldshield-warning-color: #fbbf24;--fieldshield-tag-bg: #451a03;--fieldshield-tag-color: #fde68a;--fieldshield-mask-blocked-color: #d97706}}@media(forced-colors:active){.fieldshield-field-wrapper,.fieldshield-a11y-input{border:2px solid ButtonText;forced-color-adjust:auto}.fieldshield-field-wrapper:focus-within,.fieldshield-a11y-input:focus{outline:3px solid Highlight;outline-offset:var(--fieldshield-focus-ring-offset);box-shadow:none}.fieldshield-real-input{caret-color:ButtonText}.fieldshield-tag{border:1px solid ButtonText;background-color:Canvas;color:ButtonText}.fieldshield-warning-icon,.fieldshield-warning-text{color:ButtonText}}@media(prefers-reduced-motion:reduce){.fieldshield-field-wrapper,.fieldshield-a11y-input{transition:none}}[data-disabled] .fieldshield-field-wrapper,[data-disabled] .fieldshield-a11y-input{opacity:.5;cursor:not-allowed;pointer-events:none}[data-disabled] .fieldshield-label{opacity:.5;cursor:not-allowed}[data-disabled] .fieldshield-mask-layer{cursor:not-allowed}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--app-bg: #080d14;--app-surface: #0d1520;--app-surface-2: #111d2e;--app-border: #1a2d45;--app-border-hover: #1f3a5c;--app-amber: #f59e0b;--app-amber-dim: #b45309;--app-amber-glow: rgba(245, 158, 11, .12);--app-blue: #38bdf8;--app-blue-dim: #0ea5e9;--app-green: #34d399;--app-red: #f87171;--app-text-primary: #e2eaf4;--app-text-secondary: #6b8aad;--app-text-dim: #3d5a7a;--font-display: "Syne", sans-serif;--font-body: "DM Sans", sans-serif;--font-mono: "IBM Plex Mono", monospace;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--shadow-panel: 0 0 0 1px var(--app-border), 0 4px 24px rgba(0, 0, 0, .4);--shadow-glow-amber: 0 0 20px rgba(245, 158, 11, .15);--fieldshield-bg: var(--app-surface-2);--fieldshield-border-color: var(--app-border);--fieldshield-border-color-focus: var(--app-blue);--fieldshield-text-color: var(--app-text-primary);--fieldshield-placeholder-color: var(--app-text-dim);--fieldshield-label-color: var(--app-text-secondary);--fieldshield-caret-color: var(--app-text-primary);--fieldshield-mask-color: var(--app-text-primary);--fieldshield-font-family: var(--font-mono);--fieldshield-font-size: .875rem;--fieldshield-unsafe-border-color: var(--app-amber);--fieldshield-unsafe-bg: rgba(245, 158, 11, .06);--fieldshield-unsafe-focus-ring: var(--app-amber);--fieldshield-warning-color: var(--app-amber);--fieldshield-tag-bg: rgba(245, 158, 11, .15);--fieldshield-tag-color: var(--app-amber);--fieldshield-mask-blocked-color: var(--app-amber-dim)}html,body,#root{height:100%}body{font-family:var(--font-body);font-size:1rem;line-height:1.6;background-color:var(--app-bg);color:var(--app-text-primary);-webkit-font-smoothing:antialiased;background-image:linear-gradient(rgba(56,189,248,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(56,189,248,.015) 1px,transparent 1px);background-size:48px 48px}.app{display:flex;flex-direction:column;min-height:100vh;max-width:1280px;margin:0 auto;padding:0 var(--space-6)}.app-header{padding:var(--space-10) 0 var(--space-8);border-bottom:1px solid var(--app-border);animation:fade-up .5s ease both}.header-inner{display:flex;flex-direction:column;gap:var(--space-3)}.logo{display:flex;align-items:center;gap:var(--space-3)}.logo-icon{font-size:1.5rem;color:var(--app-amber);filter:drop-shadow(0 0 8px var(--app-amber));line-height:1}.logo-name{font-family:var(--font-display);font-size:1.75rem;font-weight:800;letter-spacing:-.02em;color:var(--app-text-primary)}.logo-badge{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;color:var(--app-amber);background:var(--app-amber-glow);border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-sm);padding:.125rem .4rem;letter-spacing:.04em;align-self:flex-end;margin-bottom:.2rem}.header-tagline{font-size:.9375rem;color:var(--app-text-secondary);max-width:56ch}.app-main{display:grid;grid-template-columns:1fr 360px;gap:var(--space-8);flex:1;padding:var(--space-8) 0;align-items:start}.demo-panel{background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-panel);animation:fade-up .5s .1s ease both}.panel-header{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-8);padding-bottom:var(--space-6);border-bottom:1px solid var(--app-border)}.panel-title{font-family:var(--font-display);font-size:1.25rem;font-weight:700;letter-spacing:-.01em;color:var(--app-text-primary)}.panel-subtitle{font-size:.8125rem;color:var(--app-text-dim)}.form-fields{display:flex;flex-direction:column;gap:var(--space-6)}.field-group{display:flex;flex-direction:column;gap:var(--space-2)}.field-meta{display:flex;align-items:center;gap:var(--space-2)}.field-mode-badge{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;padding:.125rem .5rem;border-radius:var(--radius-sm);background:#38bdf81a;color:var(--app-blue);border:1px solid rgba(56,189,248,.2);flex-shrink:0}.field-mode-badge--custom{background:#a78bfa1a;color:#a78bfa;border-color:#a78bfa33}.field-mode-badge--a11y{background:#34d3991a;color:var(--app-green);border-color:#34d39933}.field-hint{font-size:.8125rem;color:var(--app-text-dim)}.inline-code{font-family:var(--font-mono);font-size:.75rem;background:#ffffff0f;border:1px solid var(--app-border);border-radius:var(--radius-sm);padding:.05rem .35rem;color:var(--app-text-secondary)}.form-actions{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--app-border)}.submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.6875rem var(--space-6);font-family:var(--font-body);font-size:.9375rem;font-weight:500;color:#000;background:var(--app-amber);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background .15s ease,transform .1s ease,box-shadow .15s ease;box-shadow:0 1px 2px #0000004d;align-self:flex-start}.submit-btn:hover:not(:disabled){background:#fbbf24;box-shadow:0 0 16px #f59e0b66;transform:translateY(-1px)}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{cursor:not-allowed;opacity:.8}.submit-btn--loading{background:var(--app-amber-dim)}.submit-btn--success{background:var(--app-green);color:#000}.btn-spinner{width:.875rem;height:.875rem;border:2px solid rgba(0,0,0,.25);border-top-color:#000;border-radius:50%;animation:spin .6s linear infinite}.submit-hint{font-size:.8125rem;color:var(--app-text-dim)}.log-panel{background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-panel);position:sticky;top:var(--space-6);animation:fade-up .5s .2s ease both}.log-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--app-border);background:var(--app-surface-2)}.log-title{font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--app-text-secondary)}.log-count{font-family:var(--font-mono);font-size:.6875rem;font-weight:500;background:#38bdf81a;color:var(--app-blue);border:1px solid rgba(56,189,248,.2);border-radius:999px;padding:.1rem .5rem;min-width:1.5rem;text-align:center}.log-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-10) var(--space-6);text-align:center;color:var(--app-text-dim);font-size:.8125rem}.log-empty-icon{font-size:1.5rem;opacity:.4}.log-list{list-style:none;max-height:520px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--app-border) transparent}.log-list::-webkit-scrollbar{width:4px}.log-list::-webkit-scrollbar-track{background:transparent}.log-list::-webkit-scrollbar-thumb{background:var(--app-border);border-radius:2px}.log-item{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--app-border);animation:slide-in .2s ease both}.log-item:last-child{border-bottom:none}.log-item-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.log-type-badge{font-family:var(--font-mono);font-size:.625rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;padding:.1rem .45rem;border-radius:var(--radius-sm)}.log-type-badge--copy-blocked,.log-type-badge--cut-blocked{background:#f871711f;color:var(--app-red);border:1px solid rgba(248,113,113,.2)}.log-type-badge--paste-detected{background:#f59e0b1f;color:var(--app-amber);border:1px solid rgba(245,158,11,.2)}.log-type-badge--submitted{background:#34d3991f;color:var(--app-green);border:1px solid rgba(52,211,153,.2)}.log-type-badge--memory-purged{background:#38bdf81a;color:var(--app-blue);border:1px solid rgba(56,189,248,.2)}.log-time{font-family:var(--font-mono);font-size:.6875rem;color:var(--app-text-dim);flex-shrink:0}.log-field{font-size:.8125rem;font-weight:500;color:var(--app-text-primary)}.log-findings{display:flex;flex-wrap:wrap;gap:var(--space-1)}.log-finding-tag{font-family:var(--font-mono);font-size:.625rem;font-weight:500;letter-spacing:.04em;padding:.1rem .4rem;background:#f59e0b1f;color:var(--app-amber);border:1px solid rgba(245,158,11,.2);border-radius:var(--radius-sm)}.log-detail{font-family:var(--font-mono);font-size:.6875rem;color:var(--app-text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-footer{padding:var(--space-8) 0 var(--space-12);border-top:1px solid var(--app-border);animation:fade-up .5s .3s ease both}.threat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4)}.threat-card{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--app-border);background:var(--app-surface);transition:border-color .15s ease,background .15s ease}.threat-card:hover{border-color:var(--app-border-hover);background:var(--app-surface-2)}.threat-card--blocked{border-color:#34d39926}.threat-card--blocked:hover{border-color:#34d3994d}.threat-card--out-of-scope{border-color:#f871711f;opacity:.7}.threat-icon{font-size:1.25rem;line-height:1;flex-shrink:0;margin-top:.1rem}.threat-body{display:flex;flex-direction:column;gap:var(--space-1)}.threat-label{display:flex;align-items:center;gap:var(--space-2);font-size:.875rem;font-weight:500;color:var(--app-text-primary);flex-wrap:wrap}.threat-status{font-family:var(--font-mono);font-size:.625rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;padding:.1rem .4rem;border-radius:var(--radius-sm)}.threat-status--blocked{background:#34d3991f;color:var(--app-green);border:1px solid rgba(52,211,153,.2)}.threat-status--out-of-scope{background:#f871711a;color:var(--app-red);border:1px solid rgba(248,113,113,.15)}.threat-detail{font-size:.8125rem;color:var(--app-text-secondary);line-height:1.45}.fieldshield-label{font-size:.8125rem;letter-spacing:.02em}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){.app-main{grid-template-columns:1fr}.log-panel{position:static}.threat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.app{padding:0 var(--space-4)}.demo-panel{padding:var(--space-5)}.threat-grid{grid-template-columns:1fr}.logo-name{font-size:1.375rem}}@media(prefers-reduced-motion:reduce){.app-header,.demo-panel,.log-panel,.app-footer,.log-item{animation:none}.submit-btn,.threat-card{transition:none}.btn-spinner{animation:none;opacity:.5}}
