@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap");:root{color-scheme:dark;--canvas:#0052ff;--surface:#0052ff;--border:rgba(255,255,255,0.3);--text-main:#ffffff;--text-muted:rgba(255,255,255,0.72);--text-accent:#ffffff;--accent-bg:#0052ff;--base-blue:#0052ff;--game-bg:#0052ff;--game-text:#bff6ce;--warning-bg:#0052ff;--warning-text:#ffd166;--danger-bg:#0052ff;--danger-text:#ffb4b4;--font-sans:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;--font-serif:"Instrument Serif",Georgia,"Times New Roman",serif;--font-mono:"JetBrains Mono","SF Mono","Geist Mono",Consolas,monospace;--border-radius:8px;--border-radius-sm:4px;--transition:0.15s cubic-bezier(0.16,1,0.3,1)}*{box-sizing:border-box}html{min-width:320px}body{margin:0;background:var(--base-blue);color:#ffffff;font-family:var(--font-sans);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,select{border:none;background:none;color:inherit;font:inherit;outline:none}select option{background:var(--base-blue);color:#ffffff}a,button{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit;text-decoration:none;transition:var(--transition)}h1,h2,p,pre{margin:0}.app-container{max-width:1200px;margin:0 auto;padding:0 24px 64px;color:#ffffff}.topbar{justify-content:space-between;gap:20px;margin-bottom:48px;border-bottom:1px solid rgba(255,255,255,.24);padding:24px 0}.brand,.topbar{display:flex;align-items:center}.brand{min-width:0;gap:12px;color:#ffffff;font-weight:600;letter-spacing:0}.brand-logo{display:block;width:96px;height:48px;flex:0 0 auto}.nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.nav-links a{color:rgba(255,255,255,.72);font-weight:500}.nav-links a:hover{color:#ffffff}.nav-links a.star-button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;border-radius:8px;font-size:14px;font-weight:700;padding:8px 14px}.nav-links a.star-button,.nav-links a.star-button:hover{background:#ffffff;color:var(--base-blue)}.star-button svg{width:16px;height:16px;color:#ffd166;fill:#ffd166;stroke-width:2}.hero{gap:24px;margin-bottom:28px}.hero,.hero-meta{display:flex;flex-direction:column}.hero-meta{gap:8px}.eyebrow{color:rgba(255,255,255,.72)}.card-kicker,.eyebrow{font-family:var(--font-mono);text-transform:uppercase}.card-kicker{color:var(--text-muted)}.eyebrow{font-size:12px;letter-spacing:.08em}.hero h1{max-width:760px;color:#ffffff;font-family:var(--font-serif);font-size:56px;font-weight:400;letter-spacing:0;line-height:1.05}.hero-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(255,255,255,.24);padding-bottom:24px}.lede{max-width:660px;color:rgba(255,255,255,.78);font-size:16px;line-height:1.55}.status-strip{display:grid;min-width:210px;gap:2px;border:1px solid var(--border);border-radius:var(--border-radius);background:var(--surface);color:var(--text-main);padding:12px 16px}.status-strip span{overflow:hidden;color:var(--text-muted);font-family:var(--font-mono);font-size:11px;letter-spacing:.03em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.status-strip strong{color:var(--game-text);font-family:var(--font-mono);font-size:16px;font-weight:700}.explainer-band{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:24px;margin-bottom:36px;border-bottom:1px solid rgba(255,255,255,.24);padding-bottom:28px}.explainer-copy{display:flex;flex-direction:column;gap:8px}.explainer-copy h2{color:#ffffff;font-size:22px;font-weight:700;letter-spacing:0;line-height:1.2}.explainer-copy p:last-child{max-width:560px;color:rgba(255,255,255,.78);font-size:14px;line-height:1.65}.explainer-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.explainer-points div{min-width:0;border-left:1px solid rgba(255,255,255,.26);padding-left:14px}.explainer-points strong{display:block;color:#ffffff;font-size:13px;font-weight:700;line-height:1.3}.explainer-points span{display:block;margin-top:4px;color:rgba(255,255,255,.72);font-size:12px;line-height:1.55}.bento-grid{display:grid;grid-template-columns:320px minmax(0,1fr) 340px;align-items:start;gap:24px}.bento-card{display:flex;min-width:0;flex-direction:column;gap:20px;border:1px solid var(--border);border-radius:var(--border-radius);background:var(--surface);color:var(--text-main);padding:24px}.card-header{display:grid;grid-template-columns:1fr auto;gap:4px 12px;border-bottom:1px solid var(--border);padding-bottom:16px}.card-header svg,.output-header svg{width:18px;height:18px;color:var(--game-text);grid-row:span 2}.card-kicker{font-size:11px;letter-spacing:.05em}.card-header h2,.output-header h2{color:var(--text-accent);font-size:18px;font-weight:600;letter-spacing:0;line-height:1.25}.pack-list{display:flex;flex-direction:column;gap:6px}.grant-smoke-note{margin:0;background:var(--accent-bg);color:var(--text-muted);font-size:12px;line-height:1.5}.grant-smoke-note,.pack{border:1px solid var(--border);border-radius:var(--border-radius);padding:10px 12px}.pack{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;background:var(--surface);text-align:left;transition:var(--transition)}.pack.is-selected,.pack:hover{background:var(--accent-bg)}.pack.is-selected{border-color:var(--text-accent)}.pack span{display:flex;min-width:0;flex-direction:column;gap:2px}.option-item-name{color:var(--text-accent);font-weight:600}.option-item-meta{overflow:hidden;color:var(--text-muted);line-height:1.3;text-overflow:ellipsis}.option-item-meta,.pack b{font-family:var(--font-mono);font-size:11px}.pack b{display:grid;flex:0 0 auto;gap:1px;justify-items:end;border-radius:var(--border-radius-sm);background:var(--game-bg);color:var(--game-text);font-weight:700;padding:3px 6px;white-space:nowrap}.pack b em{color:var(--game-muted);font-size:9px;font-style:normal;font-weight:700;text-transform:uppercase}.field{display:flex;flex-direction:column;gap:8px}.field span{font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.field span,select{color:var(--text-accent)}select{width:100%;min-height:40px;border:1px solid var(--border);border-radius:var(--border-radius);background:var(--accent-bg);font-family:var(--font-mono);font-size:13px;padding:0 12px;transition:var(--transition)}select:focus{border-color:var(--text-muted);background:var(--surface)}.button-row button,.primary-button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);border-radius:var(--border-radius);background:var(--surface);color:var(--text-main);font-size:13px;font-weight:700;padding:8px 12px;transition:var(--transition)}.primary-button{border-color:rgba(255,255,255,.72);background:var(--base-blue);color:#ffffff}.button-row button:hover,.primary-button:hover{border-color:var(--text-muted);background:var(--accent-bg);color:var(--text-accent)}.primary-button:hover{border-color:rgba(255,255,255,.72);background:var(--base-blue);color:#ffffff}.button-row svg,.primary-button svg{width:16px;height:16px;flex:0 0 auto}.metrics-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border:1px solid var(--border);border-radius:var(--border-radius);background:var(--accent-bg);padding:12px 6px}.metric-item{min-width:0;border-right:1px solid var(--border);text-align:center}.metric-item:last-child{border-right:none}.metric-label{color:var(--text-muted);font-size:11px;letter-spacing:.03em;text-transform:uppercase}.metric-label,.metric-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metric-value{margin:2px 0 0;color:var(--text-accent);font-family:var(--font-mono);font-size:13px;font-weight:600}.button-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.output-card{grid-column:span 2;gap:0;overflow:hidden;padding:0}.output-header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border);background:var(--surface);padding:18px 24px}.editor-header-title{display:flex;min-width:0;flex-direction:column;gap:2px}.code-block{overflow:auto;max-height:332px;margin:0;background:var(--base-blue);color:var(--text-main);font-family:var(--font-mono);font-size:13px;line-height:1.7;padding:24px;white-space:pre-wrap;word-break:break-word}.log-list{gap:8px;margin:0;padding:0;list-style:none}.log-list,.log-list li{display:flex;flex-direction:column}.log-list li{gap:2px;border:1px solid var(--border);border-radius:var(--border-radius);background:var(--surface);padding:12px}.log-list li[data-status=completed],.log-list li[data-status=fulfilled]{background:var(--game-bg);color:var(--game-text)}.log-list li[data-status=duplicate]{background:var(--warning-bg);color:var(--warning-text)}.log-list li[data-status=rejected]{background:var(--danger-bg);color:var(--danger-text)}.log-list strong{color:currentColor;font-size:13px;font-weight:700}.log-list span{color:var(--text-muted);font-size:12px}.log-list li[data-status] span{color:currentColor}.empty{align-items:center;justify-content:center;border-style:dashed!important;background:var(--canvas)!important;color:var(--text-muted)!important;min-height:88px;text-align:center}.grant-container{max-width:1280px}.grant-hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;margin-bottom:24px;border-bottom:1px solid rgba(255,255,255,.24);padding-bottom:28px}.grant-hero-copy{display:flex;flex-direction:column;gap:12px}.grant-hero h1{max-width:840px;color:#ffffff;font-family:var(--font-serif);font-size:54px;font-weight:400;letter-spacing:0;line-height:1.04}.grant-hero p:last-child{max-width:760px;color:rgba(255,255,255,.78);font-size:16px;line-height:1.65}.grant-status-card{display:grid;align-self:end;gap:4px;border:1px solid var(--border);border-radius:var(--border-radius);background:var(--surface);color:var(--text-main);padding:16px}.grant-status-card small,.grant-status-card span{color:var(--text-muted);font-family:var(--font-mono);font-size:11px;letter-spacing:.03em;text-transform:uppercase}.grant-status-card strong{color:var(--game-text);font-family:var(--font-mono);font-size:20px}.progress-rail{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:24px}.progress-rail div{display:flex;min-width:0;align-items:center;gap:8px;border:1px solid var(--border);border-radius:var(--border-radius);background:var(--surface);color:var(--text-main);padding:10px}.progress-rail span{width:10px;height:10px;flex:0 0 auto;border:1px solid var(--border);border-radius:999px;background:var(--canvas)}.progress-rail strong{overflow:hidden;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.02em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.progress-rail div[data-state=active]{border-color:rgba(255,255,255,.72)}.progress-rail div[data-state=active] span,.progress-rail div[data-state=done] span{border-color:#ffffff;background:var(--base-blue)}.progress-rail div[data-state=done] span{border-color:#ffd166;background:var(--base-blue)}.progress-rail div[data-state=done]{background:var(--base-blue)}.grant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:24px}.grant-panel{min-height:100%}.grant-wide{grid-column:span 3}.pain-list{display:grid;gap:10px}.pain-list div{border:1px solid var(--border);border-radius:var(--border-radius);background:var(--accent-bg);padding:12px}.pain-list strong{display:block;color:var(--text-accent);font-size:13px}.pain-list span{display:block;margin-top:4px;color:var(--text-muted);font-size:12px;line-height:1.55}.base-pay-box{display:grid;gap:10px}.base-pay-box [role=button],.base-pay-box>button,.base-pay-box>div{width:100%}.base-pay-box button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);border-radius:var(--border-radius);background:var(--surface);color:var(--text-main);font-size:13px;font-weight:700;padding:8px 12px;transition:var(--transition)}.base-pay-box button:hover{border-color:var(--text-muted);background:var(--accent-bg)}.inline-error{display:grid;gap:4px;border:1px solid var(--danger-text);border-radius:var(--border-radius);background:var(--base-blue);line-height:1.45;padding:10px 12px}.inline-error,.inline-error strong{color:var(--danger-text);font-size:12px}.inline-error span{overflow-wrap:anywhere}.proof-list{display:grid;gap:8px;margin:0}.proof-list div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;border-bottom:1px solid var(--border);padding-bottom:8px}.proof-list div:last-child{border-bottom:none;padding-bottom:0}.proof-list dt{color:var(--text-muted);font-size:11px;letter-spacing:.03em;text-transform:uppercase}.proof-list dd{margin:0;overflow:hidden;color:var(--text-accent);font-family:var(--font-mono);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.proof-list dd a{color:inherit;text-decoration:none}.proof-list dd a:hover{color:var(--base-blue)}.proof-list .proof-value-long{overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.compact-output-header{padding:18px 0 0}.compact-output-header a{color:var(--base-blue)}@media (max-width:1024px){.bento-grid{grid-template-columns:1fr 1fr}.grant-hero{grid-template-columns:1fr}.grant-grid,.progress-rail{grid-template-columns:1fr 1fr}.grant-wide{grid-column:span 2}.input-card,.result-panel{grid-column:span 1}.flow-card,.output-card{grid-column:span 2}}@media (max-width:768px){.app-container{padding:0 16px 48px}.topbar{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:36px}.nav-links{width:100%;justify-content:space-between;gap:12px}.brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero{margin-bottom:32px}.hero h1{font-size:40px}.hero-controls{align-items:flex-start;flex-direction:column}.status-strip{width:100%}.explainer-band{margin-bottom:28px;padding-bottom:24px}.bento-grid,.explainer-band,.explainer-points{grid-template-columns:1fr}.flow-card,.output-card{grid-column:span 1}.bento-card{padding:18px}.output-card{padding:0}.output-header{padding:16px}.button-row,.metrics-row{grid-template-columns:1fr}.metric-item{border-right:none;border-bottom:1px solid var(--border);padding-bottom:8px}.metric-item:last-child{border-bottom:none;padding-bottom:0}.pack{align-items:flex-start;flex-direction:column;gap:8px}.grant-hero h1{font-size:40px}.grant-grid,.progress-rail{grid-template-columns:1fr}.grant-wide{grid-column:span 1}}