:root{--background:#fbf7f2;--surface:#fff;--surface-warm:#fff2e8;--ink:#2e2633;--muted:#665b69;--coral:#d75043;--coral-dark:#ad382f;--plum:#5e315d;--mint:#dff3e7;--teal:#2f766d;--gold:#f5bc57;--border:#eadfd7;--shadow:0 22px 70px #5e315d24}*{box-sizing:border-box}html{background:var(--background);min-height:100%}body{min-height:100%;color:var(--ink);background:linear-gradient(180deg, #dff3e7b8, #fbf7f200 34rem), var(--background);margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{touch-action:manipulation}.page-shell{width:min(100%,46rem);min-height:100vh;margin:0 auto;padding:1.25rem}.hero-band{padding:clamp(1.5rem,6vw,3rem) 0 1rem}.hero-copy{gap:.7rem;display:grid}.event-kicker{width:fit-content;color:var(--plum);background:var(--mint);border:1px solid #2f766d38;border-radius:999px;margin:0;padding:.42rem .7rem;font-size:.92rem;font-weight:800}h1,h2,p{margin-top:0}h1{max-width:12ch;color:var(--plum);letter-spacing:0;margin-bottom:0;font-size:clamp(2.45rem,12vw,5.2rem);line-height:.95}.subheadline{max-width:36rem;color:var(--muted);margin-bottom:0;font-size:clamp(1.05rem,3.7vw,1.32rem);line-height:1.45}.recorder-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;gap:1rem;margin:1.25rem 0 2rem;padding:clamp(1.1rem,4vw,1.6rem);display:grid;position:relative;overflow:hidden}.recorder-panel:before{content:"";background:linear-gradient(90deg, var(--coral), var(--gold), var(--teal));height:.45rem;position:absolute;inset:0 0 auto}.field-label{color:var(--plum);font-size:1rem;font-weight:800}.name-input{width:100%;min-height:3.55rem;color:var(--ink);border:2px solid var(--border);background:#fffdfb;border-radius:8px;outline:none;padding:.85rem 1rem;font-size:1.12rem}.name-input:focus{border-color:var(--teal);box-shadow:0 0 0 4px #2f766d24}.recording-note{color:var(--muted);margin-bottom:0;font-size:1rem;line-height:1.45}.recorder-status{background:var(--surface-warm);border:1px solid #f1d6c5;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;min-height:4.5rem;padding:1rem;display:flex}.timer{color:var(--plum);font-variant-numeric:tabular-nums;align-items:center;gap:.55rem;font-size:clamp(2rem,11vw,3rem);font-weight:900;line-height:1;display:inline-flex}.timer span{background:#b8b0bd;border-radius:999px;flex:none;width:.82rem;height:.82rem}.timer-active span{background:var(--coral);box-shadow:0 0 0 6px #d7504329}.wave-meter{grid-template-columns:repeat(5,.45rem);align-items:center;gap:.28rem;min-width:3.4rem;height:3.1rem;display:inline-grid}.wave-meter span{background:var(--teal);border-radius:999px;width:100%;display:block}.wave-meter span:first-child,.wave-meter span:nth-child(5){height:1rem}.wave-meter span:nth-child(2),.wave-meter span:nth-child(4){height:2rem}.wave-meter span:nth-child(3){background:var(--coral);height:2.8rem}.warning-message,.success-message,.error-message{border-radius:8px;margin-bottom:0;padding:.85rem 1rem;font-weight:750;line-height:1.35}.warning-message{color:#694212;background:#fff2c7;border:1px solid #f4cd72}.success-message{color:#195d3f;background:#e4f7ec;border:1px solid #aedfc2}.error-message{color:#84251f;background:#ffe8e4;border:1px solid #efb5ad}.button-row{gap:.75rem;width:100%;display:flex}.two-up{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.primary-button,.secondary-button,.danger-button,.file-button{text-align:center;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:.55rem;min-width:0;min-height:3.55rem;padding:.85rem 1rem;font-size:1rem;font-weight:900;line-height:1.1;text-decoration:none;display:inline-flex}.primary-button{color:#fff;background:var(--coral)}.primary-button:hover:not(:disabled){background:var(--coral-dark)}.secondary-button,.file-button{color:var(--plum);background:#f3ebf3;border:1px solid #ddcadd}.danger-button{color:#fff;background:var(--plum)}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled{cursor:not-allowed;opacity:.58}.file-button:has(+input:disabled){cursor:not-allowed;opacity:.58}.full-width{width:100%}.file-fallback{gap:.6rem;display:grid}.file-fallback input{clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.preview-area{gap:.85rem;display:grid}audio{width:100%;min-height:3.25rem}.progress-wrap{gap:.5rem;display:grid}.progress-label{color:var(--plum);justify-content:space-between;font-weight:850;display:flex}.progress-track{background:#efe4dd;border-radius:999px;height:.75rem;overflow:hidden}.progress-track span{background:linear-gradient(90deg, var(--teal), var(--coral));height:100%;transition:width .16s;display:block}.success-state,.private-panel{text-align:center;place-items:center}.success-state{color:var(--teal);gap:.9rem;padding:1.25rem .4rem;display:grid}.success-state h2,.private-panel h2{color:var(--plum);margin-bottom:0;font-size:clamp(1.75rem,7vw,2.4rem);line-height:1.05}.success-state p,.private-panel p{max-width:28rem;color:var(--muted);margin-bottom:0;font-size:1.08rem;line-height:1.45}.private-icon{width:4.3rem;height:4.3rem;color:var(--plum);background:var(--mint);border-radius:999px;place-items:center;display:grid}@media (max-width:32rem){.page-shell{padding:1rem}.recorder-status{flex-direction:column;align-items:flex-start}.wave-meter{transform-origin:1.55rem 1.55rem;transform:rotate(90deg)}.two-up{grid-template-columns:1fr}}
