html,body{background:#f7f5f0;margin:0;padding:0}#root{height:100vh}a{color:#d32f11}a:hover{color:#111}::selection{color:#f7f5f0;background:#e63312}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes cardIn{0%{opacity:0;transform:scale(.92)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes pulseBtn{0%,to{box-shadow:0 0 #e633128c}50%{box-shadow:0 0 0 18px #e6331200}}@keyframes blinkCaret{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes kudosBurst{0%{opacity:1;transform:translate(-50%,-50%)scale(.4)}70%{opacity:1}to{transform:translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) scale(1) rotate(var(--rot));opacity:0}}.app{box-sizing:border-box;color:#111;background:#f7f5f0;flex-direction:column;justify-content:center;align-items:center;height:100vh;padding:32px;font-family:Familjen Grotesk,sans-serif;display:flex;position:relative;overflow:hidden}.topstrip{letter-spacing:.18em;text-transform:uppercase;color:#6f6a60;justify-content:center;gap:24px;font-size:12px;display:flex;position:absolute;top:26px;left:0;right:0}.brand-link{font-family:inherit;font-size:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.brand-link:hover{color:#111}.idle{text-align:center;flex-direction:column;align-items:center;gap:36px;max-width:820px;animation:.5s both fadeUp;display:flex}.idle h1{letter-spacing:-.02em;text-transform:uppercase;margin:0;font-family:Familjen Grotesk,sans-serif;font-size:clamp(48px,8vw,110px);font-weight:700;line-height:.95}.idle p{color:#3d3a34;max-width:590px;margin:0;font-size:18px;line-height:1.4}.accent-text{color:#d32f11;font-weight:700}.btn-generate{letter-spacing:-.02em;text-transform:uppercase;color:#f7f5f0;cursor:pointer;background:#111;border:none;align-items:center;gap:.25em;padding:clamp(16px,2.5vw,26px) clamp(28px,5vw,48px);font-family:Familjen Grotesk,sans-serif;font-size:clamp(26px,4vw,42px);font-weight:700;transition:transform .12s,background .15s;animation:2.4s ease-in-out infinite pulseBtn;display:inline-flex}.btn-generate:hover{background:#e63312;transform:translateY(-2px)}.btn-generate:active{transform:scale(.99)}.caption{letter-spacing:.14em;text-transform:uppercase;color:#6f6a60;font-size:11px}.running{text-align:center;flex-direction:column;align-items:center;gap:28px;width:100%;max-width:900px;display:flex}.step-row{letter-spacing:.16em;text-transform:uppercase;color:#6f6a60;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 12px;font-size:12px;display:flex}.step-count{white-space:nowrap;align-items:baseline;gap:12px;display:inline-flex}.step-dot{margin-right:4px}.step-num{letter-spacing:-.02em;color:#e63312;font-family:Familjen Grotesk,sans-serif;font-size:22px;font-weight:700}.big-text{letter-spacing:-.02em;text-transform:uppercase;text-wrap:pretty;place-items:center;width:100%;min-height:2.2em;font-family:Familjen Grotesk,sans-serif;font-size:clamp(34px,5.5vw,72px);font-weight:700;line-height:1.05;display:grid}.big-text-sizer{visibility:hidden;grid-area:1/1}.big-text-visible{grid-area:1/1}.dots{gap:8px;display:flex}.dot{width:22px;height:5px;transition:background .2s;display:inline-block}.status-row{letter-spacing:.12em;text-transform:uppercase;color:#6f6a60;align-items:center;gap:8px;font-size:11px;display:flex}.status-dot{background:#e63312;width:8px;height:8px;animation:.8s step-end infinite blinkCaret;display:inline-block}.card{box-sizing:border-box;background:#f7f5f0;flex-direction:column;gap:20px;width:100%;max-width:720px;max-height:calc(100vh - 100px);padding:28px 34px;animation:.55s cubic-bezier(.2,1.2,.4,1) both cardIn;display:flex;position:relative;overflow:auto}.card-header{justify-content:space-between;align-items:baseline;display:flex}.card-title{letter-spacing:-.02em;text-transform:uppercase;font-family:Familjen Grotesk,sans-serif;font-size:24px;font-weight:700}.peer-reviewed{letter-spacing:.16em;color:#d32f11;font-size:10px}.list-rows{flex-direction:column;display:flex}.row{border-left:4px solid #0000;grid-template-columns:34px 1fr;align-items:baseline;gap:12px;margin:0 -12px;padding:12px 12px 12px 14px;transition:background .2s;animation:.3s both fadeUp;display:grid}.row-num{letter-spacing:-.02em;font-family:Familjen Grotesk,sans-serif;font-size:15px;font-weight:700}.row-content{flex-direction:column;gap:2px;display:flex}.row-text{font-size:14px;font-weight:700;line-height:1.35}.row-cat{letter-spacing:.14em;text-transform:uppercase;color:#6f6a60;font-size:9px}.monologue{color:#111;margin:0;font-size:clamp(16px,2vw,19px);line-height:1.65;animation:.3s both fadeUp}.monologue-pick{font-weight:500}.footer-row{justify-content:space-between;align-items:center;padding-top:6px;display:flex}.toggle-btn{letter-spacing:.12em;text-transform:uppercase;color:#111;cursor:pointer;background:0 0;border:none;padding:0;font-family:Familjen Grotesk,sans-serif;font-size:11px}.toggle-btn:hover{color:#d32f11}.regen-btn{letter-spacing:-.01em;text-transform:uppercase;color:#f7f5f0;cursor:pointer;background:#111;border:none;align-items:center;gap:8px;padding:12px 20px;font-family:Familjen Grotesk,sans-serif;font-size:13px;font-weight:700;transition:transform .12s,background .15s;display:inline-flex}.regen-btn:hover{background:#d32f11;transform:translateY(-2px)}.regen-btn:active{transform:scale(.98)}.disclaimer{color:#6f6a60;letter-spacing:.1em;text-align:center;margin-top:16px;font-size:10px}.disclaimer a{color:#6f6a60}.credit-line{font-size:13px}.kudos-row{justify-content:center;align-items:center;gap:10px;margin-top:14px;display:flex}.kudos-btn-wrap{display:inline-flex;position:relative}.burst-layer{pointer-events:none;position:absolute;inset:0}.burst-particle{width:var(--particle-size);height:var(--particle-size);background:var(--particle-color);animation:.65s cubic-bezier(.2,.7,.3,1) forwards kudosBurst;position:absolute;top:50%;left:50%}.kudos-btn{letter-spacing:.12em;text-transform:uppercase;color:#111;cursor:pointer;background:0 0;border:1px solid #111;align-items:center;gap:6px;padding:8px 14px;font-family:Familjen Grotesk,sans-serif;font-size:11px;font-weight:700;transition:color .15s,border-color .15s;display:inline-flex}.kudos-btn:hover{color:#d32f11;border-color:#d32f11}.kudos-btn:disabled{cursor:default;opacity:.6}.kudos-btn-sent{color:#1e8f44;border-color:#1e8f44}.kudos-btn-error{color:#d32f11;border-color:#d32f11}@media (width<=640px){.app{padding:60px 16px 16px}.card{padding-top:0;padding-left:0;padding-right:0}.row{margin-left:0;margin-right:0}}
