:root{--bg: #0a0910;--surface: #13111c;--surface-hi: #1c192a;--border: #231f35;--border-hi: #332d50;--text: #ede9f8;--muted: #7a6f9a;--accent: #9b8ff5;--accent-hover: #b5abff;--success: #4ade80;--warning: #fbbf24;--error: #f87171;--font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mew-accent: #f472b6;--mew-accent-hover: #f9a8d4;--celebi-accent: #7ac74c;--celebi-accent-hover: #9dde62;--radius: 10px}.app[data-theme=mew]{--accent: var(--mew-accent);--accent-hover: var(--mew-accent-hover);--surface: #1c141e;--surface-hi: #261a29;--border: #3a2640;--border-hi: #4e3356}.app[data-theme=celebi]{--accent: var(--celebi-accent);--accent-hover: var(--celebi-accent-hover);--surface: #121c13;--surface-hi: #182319;--border: #263329;--border-hi: #344538}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.55;-webkit-font-smoothing:antialiased}.app{max-width:34rem;margin:0 auto;padding:2.75rem 1.5rem 4rem}header{margin-bottom:2.5rem}header h1{margin:0 0 .5rem;font-size:1.85rem;font-weight:800;letter-spacing:-.03em;line-height:1.1}.subtitle{margin:0;color:var(--muted);font-size:.88rem;letter-spacing:.01em}.scope-note{margin:.3rem 0 0;color:var(--muted);font-size:.78rem;opacity:.75}.picker-section{margin-bottom:0}.distribution-picker{margin:0;padding:0;border:none}.distribution-picker legend{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:1rem;padding:0}.distribution-options{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;align-items:stretch}.distribution-option{display:flex;align-self:stretch;cursor:pointer}.distribution-option input{position:absolute;opacity:0;pointer-events:none}.distribution-option-body{display:flex;flex-direction:column;flex:1;gap:.35rem;padding:1.1rem 1.15rem;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);transition:border-color .15s,background .15s,box-shadow .15s}.distribution-option-title{font-size:1.25rem;font-weight:700;color:var(--text);letter-spacing:-.02em;transition:color .15s}.distribution-option-hint{flex:1;font-size:.73rem;color:var(--muted);line-height:1.4;letter-spacing:.01em}.distribution-option[data-line-theme=mew] .distribution-option-title{color:color-mix(in srgb,var(--mew-accent) 65%,var(--text))}.distribution-option[data-line-theme=celebi] .distribution-option-title{color:color-mix(in srgb,var(--celebi-accent) 65%,var(--text))}.distribution-option[data-line-theme=mew] input:checked+.distribution-option-body{border-color:var(--mew-accent);background:color-mix(in srgb,var(--mew-accent) 10%,var(--surface));box-shadow:0 0 0 1px color-mix(in srgb,var(--mew-accent) 30%,transparent),0 4px 16px color-mix(in srgb,var(--mew-accent) 12%,transparent)}.distribution-option[data-line-theme=celebi] input:checked+.distribution-option-body{border-color:var(--celebi-accent);background:color-mix(in srgb,var(--celebi-accent) 10%,var(--surface));box-shadow:0 0 0 1px color-mix(in srgb,var(--celebi-accent) 30%,transparent),0 4px 16px color-mix(in srgb,var(--celebi-accent) 12%,transparent)}.distribution-option input:focus-visible+.distribution-option-body{outline:2px solid var(--accent);outline-offset:2px}.distribution-option input:disabled+.distribution-option-body{opacity:.45;cursor:not-allowed}.panel.hidden,.hidden{display:none}.panel{margin-top:1.25rem;padding:1rem 1.25rem;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);transition:background .25s,border-color .25s}.panel label{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.6rem}#event-select{width:100%;padding:.6rem .75rem;font-size:.92rem;font-family:inherit;color:var(--text);background:var(--bg);border:1.5px solid var(--border);border-radius:7px;outline:none;transition:border-color .15s}#event-select:focus{border-color:var(--border-hi)}#event-select:disabled{opacity:.5}.status-panel{margin-top:1.25rem;padding:1.25rem 1.25rem 1.1rem;border-left:3px solid var(--border-hi);transition:border-color .25s}.app[data-theme] .status-panel{border-left-color:var(--accent)}.stepper{display:flex;align-items:center;margin-bottom:1.35rem}.stepper-step{display:flex;flex-direction:column;align-items:center;gap:.35rem;flex-shrink:0}.stepper-step span{font-size:.64rem;font-weight:500;color:var(--muted);white-space:nowrap;letter-spacing:.03em;transition:color .2s}.step-node{width:20px;height:20px;border-radius:50%;background:var(--bg);border:2px solid var(--border);position:relative;transition:background .2s,border-color .2s}.stepper-step[data-state=done] .step-node{border-color:var(--success)}.stepper-step[data-state=done] .step-node:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;background:var(--success);border-radius:50%}.stepper-step[data-state=done] span{color:var(--success)}.stepper-step[data-state=active] .step-node{border-color:var(--accent);background:var(--accent);animation:step-pulse 1.6s ease-in-out infinite}.stepper-step[data-state=active] span{color:var(--accent);font-weight:700}.stepper-step[data-state=complete] .step-node{background:var(--success);border-color:var(--success)}.stepper-step[data-state=complete] .step-node:after{content:"✓";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:#0a0910;font-weight:800}.stepper-step[data-state=complete] span{color:var(--success);font-weight:700}@keyframes step-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--accent) 45%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 0%,transparent)}}.stepper-line{flex:1;height:1.5px;background:var(--border);margin-bottom:1.35rem;transition:background .2s}.stepper-line[data-state=done]{background:var(--success)}.status-row{display:flex;align-items:center;gap:.55rem;margin-bottom:.2rem}.indicator{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--border-hi);transition:background .2s}.indicator[data-type=active]{background:var(--accent);animation:ind-pulse 1.2s ease-in-out infinite}.indicator[data-type=success]{background:var(--success)}.indicator[data-type=error]{background:var(--error)}.indicator[data-type=warning]{background:var(--warning)}@keyframes ind-pulse{0%,to{opacity:1}50%{opacity:.3}}.status{margin:0;font-size:.95rem;font-weight:600}.status[data-type=success]{color:var(--success)}.status[data-type=error]{color:var(--error)}.status[data-type=warning]{color:var(--warning)}.detail{margin:.15rem 0 0 1.3rem;font-size:.78rem;color:var(--muted)}.instruction-box{margin-top:1rem;padding:.8rem 1rem;background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:8px;font-size:.875rem;display:flex;flex-direction:column;gap:.3rem;transition:background .25s,border-color .25s}.instruction-box.hidden{display:none}.instruction-label{font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--accent);transition:color .25s}#instruction-text{color:var(--text);line-height:1.5}.instruction-box[data-type=success]{background:color-mix(in srgb,var(--success) 8%,transparent);border-color:color-mix(in srgb,var(--success) 25%,transparent)}.instruction-box[data-type=success] .instruction-label{color:var(--success)}.actions{display:flex;gap:.65rem;margin-top:1.35rem}button{flex:1;padding:.8rem 1rem;font-size:.92rem;font-family:inherit;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:background .15s,opacity .15s;letter-spacing:.01em}button:disabled{opacity:.35;cursor:not-allowed}button.primary{background:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:var(--accent-hover)}button.secondary{background:transparent;color:var(--muted);border:1.5px solid var(--border);flex:0 0 auto;padding-left:1.25rem;padding-right:1.25rem}button.secondary:hover:not(:disabled){border-color:var(--border-hi);color:var(--text)}.certificate-panel{margin-top:1.25rem;padding:.75rem;background:transparent;border:none}.certificate-card{position:relative;max-width:100%}.certificate-frame{position:relative;padding:5px;border-radius:8px;background:linear-gradient(90deg,#5ec8e8,#7ee0a8 18%,#f5e94a 42%,#ffb8d0 68%,#c89ef0 88%,#5ec8e8);box-shadow:0 8px 28px #0006}.certificate-inner{position:relative;z-index:0;display:grid;grid-template-rows:auto 1fr auto auto;align-items:stretch;min-height:14rem;padding:.4rem .85rem .65rem;background:linear-gradient(180deg,#fffef9,#f8f6f0);border-radius:4px;color:#1a1a1a;text-align:center}.certificate-title-wrap{position:relative;width:100%;margin:0}.certificate-title-svg{display:block;width:100%;height:auto;min-height:3.5rem;overflow:visible}.certificate-title-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.certificate-art-space{position:relative;display:flex;align-items:center;justify-content:center;min-height:7rem;margin:0;padding:.25rem 0;overflow:hidden}.certificate-brand-mark{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;margin:0;font-family:Arial Rounded MT Bold,Nunito,Trebuchet MS,sans-serif;font-size:clamp(2.75rem,16vw,4.75rem);font-weight:900;letter-spacing:.04em;color:#00000012;transform:rotate(-11deg);pointer-events:none;-webkit-user-select:none;user-select:none}.certificate-species-display{position:relative;z-index:1;margin:0;padding:0 .25rem;font-family:Arial Rounded MT Bold,Nunito,Trebuchet MS,sans-serif;font-size:clamp(3.25rem,20vw,5.5rem);font-weight:900;line-height:1;letter-spacing:.02em;text-transform:uppercase;-webkit-text-stroke:3px #4a3f6e}.certificate-card[data-species-theme=mew] .certificate-species-display{background:linear-gradient(180deg,#ffd836,#f472b6 45%,#db2777);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke-color:#5c2d4a}.certificate-card[data-species-theme=celebi] .certificate-species-display{background:linear-gradient(180deg,#d9f99d,#7ac74c,#4d7c0f);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke-color:#2d4a22}.certificate-card[data-species-theme=default] .certificate-species-display{background:linear-gradient(180deg,#e8eef4,#8b9cb3);-webkit-background-clip:text;background-clip:text;color:transparent}.certificate-id-line{margin:0;align-self:center;font-family:Georgia,Times New Roman,Times,serif;font-size:clamp(.95rem,3.8vw,1.12rem);font-weight:600;color:#1a1a1a;line-height:1.5}.certificate-id-species{font-style:italic}.certificate-id-value{display:inline-block;min-width:5.5em;margin-left:.15em;padding:0 .1em .08em;font-family:Courier New,Courier,monospace;font-size:1.12em;font-weight:700;font-style:normal;letter-spacing:.06em;border-bottom:2px solid #1a1a1a;text-align:center}.certificate-meta{margin:.35rem 0 0;align-self:center;font-size:.62rem;line-height:1.35;color:#555}.certificate-meta-link{color:#444;text-decoration:underline;text-underline-offset:2px}.certificate-meta-link:hover{color:#1a1a1a}.certificate-actions{margin-top:.75rem}.certificate-save-btn{width:100%;flex:none;padding:.6rem 1rem;font-size:.85rem}footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--border);font-size:.78rem;color:var(--muted);text-align:center}footer p{margin:.3rem 0}footer a{color:var(--muted);text-decoration:underline;text-underline-offset:2px;transition:color .15s}footer a:hover{color:var(--text)}
