:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--bg: #07080a;--card-bg: #0d0f13;--border: rgba(255, 255, 255, .08);--border-accent: rgba(255, 255, 255, .14);--text: #e8e6e3;--text-dim: rgba(255, 255, 255, .5);--text-muted: rgba(255, 255, 255, .35);--accent: #8cff66;--accent-dim: rgba(140, 255, 102, .15);--amber: #ffbe6f;--amber-dim: rgba(255, 190, 111, .12);--red: #ff6b6b;--red-dim: rgba(255, 107, 107, .12);--blue: #6bb8ff;--blue-dim: rgba(107, 184, 255, .12);--purple: #b07bff;--purple-dim: rgba(176, 123, 255, .12);--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:var(--bg);color:var(--text)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.header{text-align:center;padding:2.5rem 1.5rem 2rem}.header-label{font-family:var(--mono);font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem;display:block}.header h1{font-size:2.2rem;font-weight:700;letter-spacing:-.03em;color:#fff;margin-bottom:.5rem}.header-sub{font-size:.85rem;color:var(--text-dim);max-width:32rem;margin:0 auto;line-height:1.6}.layout{max-width:72rem;margin:0 auto;padding:0 1.5rem 4rem;display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:start}@media(max-width:860px){.layout{grid-template-columns:1fr}}.controls{display:flex;flex-direction:column;gap:1.5rem}.section-label{font-family:var(--mono);font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.5rem;display:block}.section-helper{font-family:var(--mono);font-size:.62rem;color:var(--text-muted);margin-bottom:.85rem;font-style:italic}.field{display:flex;flex-direction:column;gap:.35rem}.field label{font-size:.7rem;font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--text-dim)}.field input,.field select{background:#ffffff0a;border:1px solid var(--border);color:var(--text);font-family:var(--mono);font-size:.82rem;padding:.6rem .75rem;border-radius:.35rem;outline:none;transition:border-color .2s;width:100%;-webkit-appearance:none}.field input:focus,.field select:focus{border-color:var(--accent)}.field input::placeholder{color:var(--text-muted)}.field select option{background:#1a1d24;color:var(--text)}.stamp-picker{display:flex;flex-direction:column;gap:1rem}.stamp-category-title{font-family:var(--mono);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.25rem}.stamp-chips{display:flex;flex-wrap:wrap;gap:.4rem}.stamp-chip{font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .65rem;border-radius:.25rem;border:1px solid var(--border);background:transparent;color:var(--text-dim);cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none;white-space:nowrap}.stamp-chip:hover{border-color:var(--border-accent);color:var(--text)}.stamp-chip.active{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.stamp-chip.active.shame{border-color:var(--red);color:var(--red);background:var(--red-dim)}.stamp-chip.active.chaos{border-color:var(--amber);color:var(--amber);background:var(--amber-dim)}.stamp-chip.active.internet{border-color:var(--blue);color:var(--blue);background:var(--blue-dim)}.stamp-count{font-family:var(--mono);font-size:.6rem;color:var(--text-muted);margin-top:.25rem}.btn-row{display:flex;flex-direction:column;gap:.6rem}.btn-row-sticky{position:sticky;top:0;z-index:10;background:var(--bg);padding:.75rem 0;border-bottom:1px solid var(--border)}.btn-row-secondary{display:flex;gap:.6rem}.btn{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;padding:.7rem 1.4rem;border-radius:.3rem;border:1px solid var(--border);cursor:pointer;transition:all .15s}.btn-full{width:100%}.btn-primary{background:var(--accent);color:#0a0a0a;border-color:var(--accent);font-weight:700}.btn-primary:hover{background:#a0ff80}.btn-secondary{background:transparent;color:var(--text-dim)}.btn-secondary:hover{border-color:var(--text-dim);color:var(--text)}.btn-copy{background:#ffffff0f;color:var(--text);border-color:var(--border-accent)}.btn-copy:hover{background:#ffffff1a}.copied-msg{font-family:var(--mono);font-size:.65rem;color:var(--accent);display:flex;align-items:center;gap:.35rem}.passport-wrapper{position:sticky;top:2rem}.passport-card{background:linear-gradient(170deg,#0e1118,#0b0d12,#0a0c10);border:1px solid rgba(255,255,255,.12);border-radius:.5rem;padding:2rem;position:relative;overflow:hidden;min-height:480px;box-shadow:0 0 0 1px #ffffff0a,0 4px 24px #00000080,inset 0 1px #ffffff0a}.passport-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 28px,rgba(255,255,255,.012) 28px,rgba(255,255,255,.012) 29px),repeating-linear-gradient(90deg,transparent,transparent 28px,rgba(255,255,255,.012) 28px,rgba(255,255,255,.012) 29px);pointer-events:none}.passport-card:after{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1px solid rgba(255,255,255,.06);border-radius:.35rem;pointer-events:none}.passport-seal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:280px;height:280px;color:#ffffff07;pointer-events:none;z-index:0}.passport-seal svg{width:100%;height:100%}.passport-header{text-align:center;margin-bottom:1.75rem;position:relative}.passport-status-badge{font-family:var(--mono);font-size:.5rem;letter-spacing:.15em;text-transform:uppercase;color:var(--amber);border:1px solid rgba(255,190,111,.3);background:#ffbe6f14;padding:.25rem .6rem;border-radius:.2rem;display:inline-block;margin-top:.6rem;position:absolute;top:0;right:0}.passport-title{font-family:var(--mono);font-size:1.05rem;font-weight:700;letter-spacing:.35em;text-transform:uppercase;color:#fff;margin-bottom:.25rem}.passport-subtitle{font-family:var(--mono);font-size:.55rem;letter-spacing:.25em;text-transform:uppercase;color:var(--text-muted)}.passport-id{font-family:var(--mono);font-size:.72rem;font-weight:600;color:var(--accent);margin-top:.6rem;letter-spacing:.2em}.passport-identity{display:grid;grid-template-columns:auto 1fr;gap:.45rem 1.25rem;margin-bottom:1.5rem;position:relative}.passport-field-label{font-family:var(--mono);font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.passport-field-value{font-family:var(--mono);font-size:.78rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.passport-contraband{margin-bottom:1.25rem;position:relative}.passport-contraband-label{font-family:var(--mono);font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:.2rem}.passport-contraband-value{font-family:var(--mono);font-size:.72rem;color:var(--amber)}.passport-verdict{text-align:center;padding:1rem 0;margin-bottom:1.25rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border);position:relative}.passport-verdict-text{font-family:var(--mono);font-size:.72rem;font-style:italic;color:var(--accent);letter-spacing:.05em}.passport-stamps-section{position:relative;margin-bottom:1.25rem}.passport-stamps-label{font-family:var(--mono);font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.75rem}.passport-stamps-grid{display:flex;flex-wrap:wrap;gap:.5rem}.passport-stamp{font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;padding:.4rem .7rem;border:1.5px solid;border-radius:.2rem;position:relative;white-space:nowrap}.passport-stamp.shipped{border-color:var(--accent);color:var(--accent);transform:rotate(-1.5deg);background:#8cff660a}.passport-stamp.shame{border-color:var(--red);color:var(--red);transform:rotate(2deg);background:#ff6b6b0a}.passport-stamp.chaos{border-color:var(--amber);color:var(--amber);transform:rotate(-2.5deg);background:#ffbe6f0a}.passport-stamp.internet{border-color:var(--purple);color:var(--purple);transform:rotate(1deg);background:#b07bff0a}.passport-stamp.placeholder{border-color:#ffffff14;color:#ffffff26;background:transparent;font-style:italic}.passport-valid-strip{font-family:var(--mono);font-size:.5rem;letter-spacing:.3em;text-transform:uppercase;text-align:center;color:#ffffff1f;border-top:1px dashed rgba(255,255,255,.06);border-bottom:1px dashed rgba(255,255,255,.06);padding:.6rem 0;margin:1.25rem 0;position:relative}.passport-footer{text-align:center;padding-top:1rem;border-top:1px solid var(--border);position:relative}.passport-footer-main{font-family:var(--mono);font-size:.55rem;letter-spacing:.15em;color:var(--text-muted);margin-bottom:.3rem}.passport-footer-creator a{color:var(--text-dim);text-decoration:none;transition:color .15s}.passport-footer-creator a:hover{color:var(--accent)}.passport-footer-fine{font-family:var(--mono);font-size:.48rem;letter-spacing:.1em;color:var(--text-muted);margin-top:.5rem;font-style:italic}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal-card{background:var(--card-bg);border:1px solid var(--border-accent);border-radius:.5rem;padding:2.5rem;max-width:480px;width:100%;position:relative}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--text-dim);font-size:1.2rem;cursor:pointer;font-family:var(--mono)}.modal-close:hover{color:var(--text)}.creator-attr{text-align:center;padding:2rem 1.5rem 1rem;font-family:var(--mono);font-size:.6rem;color:var(--text-muted)}.creator-attr a{color:var(--text-dim);text-decoration:none}.creator-attr a:hover{color:var(--accent)}
