.brand-button{background:none;border:0;color:var(--ink)}.demo-tag{font:11px monospace;border:1px solid var(--accent);color:var(--accent);padding:8px 10px}.steps{display:flex;gap:20px;padding:16px 5vw;max-width:1250px;margin:auto;overflow:auto;border-bottom:1px solid var(--line)}.steps span{font-size:12px;white-space:nowrap;color:#8b8275}.steps .active{color:var(--accent);font-weight:bold}.steps .done{color:var(--ink)}.wrap{padding-top:28px}.flow-title{font-size:clamp(38px,6vw,64px)}.primary,.secondary,.text-button{padding:13px 20px;font-weight:bold;border:1px solid var(--ink);background:var(--ink);color:var(--paper)}.secondary{background:transparent;color:var(--ink)}.text-button{border:0;background:none;color:var(--ink);padding:10px}.primary:disabled,.secondary:disabled{opacity:.4;cursor:default}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.panel{background:#fffbf3;border:1px solid var(--line);padding:24px;margin:20px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}.upload-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:24px 0}.upload-grid.single{grid-template-columns:1fr;max-width:650px}.upload-box{display:flex;min-height:250px;border:1px dashed #a59c8d;background:#fffbf3;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:18px;text-align:center;cursor:pointer}.upload-box img{width:100%;height:230px;object-fit:contain}.upload-box strong{font-size:18px}.upload-box small{color:#837768;line-height:1.5}.upload-box input{max-width:100%;font-size:12px}.check{display:flex;align-items:flex-start;gap:10px;line-height:1.5;font-size:14px;margin:18px 0}.check input{accent-color:var(--accent);width:18px;height:18px;flex-shrink:0}.checks{list-style:none;padding:0;line-height:1.8;font-size:14px}.checks li:before{content:'✓ ';color:#50836a}.mode-options{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.mode-options button{flex:1;min-width:180px}.mode-options .active{background:var(--ink);color:var(--paper)}.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.review-card{background:#fffbf3;border:1px solid var(--line);padding:16px}.review-card img{width:100%;max-height:460px;object-fit:contain;background:#e8e0d3}.review-card h3{font:25px Georgia,serif;margin:16px 0 8px}.review-card p{font-size:13px;line-height:1.5;color:#6a6358}.review-card select{width:100%;background:var(--paper);border:1px solid var(--line);padding:10px}.variant-image{filter:var(--filter,none)}.approved{border-color:#50836a}.receipt{width:100%;border-collapse:collapse;font-size:14px}.receipt td{padding:13px 0;border-bottom:1px solid var(--line)}.receipt td:last-child{text-align:right}.receipt .total{font-weight:bold;font-size:20px}.paid-label{color:#50836a}.progress-wrap{max-width:650px;margin:60px auto;text-align:center}.progress-art{display:flex;justify-content:center;gap:12px;margin:30px 0}.progress-art img{width:100px;height:150px;object-fit:cover;transform:rotate(-5deg);box-shadow:0 7px 22px #24241f20}.progress-art img:nth-child(even){transform:rotate(5deg)}progress{width:100%;height:8px;accent-color:var(--accent)}.progress-label{font:13px monospace;color:#847b6a;margin:15px 0}.result-layout{display:grid;grid-template-columns:minmax(240px,370px) 1fr;gap:40px;margin-top:30px}.player{aspect-ratio:9/16;background:#24241f;position:relative;overflow:hidden;max-height:600px}.player img{width:100%;height:100%;object-fit:cover;transform:scale(1.03)}.player.playing img{animation:drift 6s linear infinite alternate}.player-badge{position:absolute;top:15px;left:15px;font:10px monospace;background:#24241fd9;color:white;padding:8px}.player-caption{position:absolute;bottom:14px;left:14px;right:14px;color:white;font-size:14px;background:#24241fd9;padding:12px}.play-controls{display:flex;align-items:center;gap:15px;margin-top:10px}.play-controls input{width:100%;accent-color:var(--accent)}@keyframes drift{to{transform:scale(1.12) translateY(-1%)}}dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:28px;width:min(520px,calc(100% - 30px));max-height:90vh;overflow:auto}dialog::backdrop{background:#24241f99}dialog h2{font:32px Georgia,serif;margin-top:0}dialog p{line-height:1.5;font-size:14px}.stars-big{font-size:48px;color:var(--accent);font-weight:bold;margin:20px 0}.error-panel{border-left:4px solid var(--accent)}.demo-tools{margin-top:40px;font-size:12px;color:#837768;border-top:1px solid var(--line);padding-top:18px}.demo-tools summary{cursor:pointer}.demo-tools select{padding:8px;margin:12px;background:var(--paper);max-width:100%}#toast{position:fixed;top:85px;left:50%;transform:translateX(-50%);z-index:30;background:var(--ink);color:var(--paper);padding:12px 18px;max-width:90vw;font-size:13px;display:none}.dock{justify-content:space-between;gap:14px}.dock-left{display:flex;gap:14px;align-items:center}.status-pill{font:11px monospace;background:#e8e0d3;padding:7px 10px;display:inline-block}.muted{color:#837768;font-size:13px;line-height:1.5}.empty-placeholder{font-size:50px;color:var(--accent)}.music-note{margin:20px 0;font-size:13px}.doc-link{color:var(--accent)}@media(max-width:800px){.two-col,.result-layout{grid-template-columns:1fr}.review-grid{gap:12px}.review-card{padding:10px}.review-card h3{font-size:20px}.review-card .button-row button{width:100%}.panel{padding:18px}.steps{gap:16px;padding:14px 20px}.dock strong{font-size:18px}.dock-left{gap:6px}.dock .text-button{padding:8px;font-size:12px}.dock .primary{padding:13px;font-size:13px}.upload-box{min-height:220px;padding:12px}.upload-box img{height:160px}.player{max-width:340px;width:100%;margin:auto}.progress-art img{width:65px;height:100px}.result-layout{gap:20px}}@media(prefers-reduced-motion:reduce){.player.playing img{animation:none}}
.media-failure{background:#e8e0d3;color:#6a6358;min-height:130px;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;text-align:center;font-size:13px}.media-failure button{font:inherit;background:var(--paper);border:1px solid var(--ink);padding:9px 12px;color:var(--ink)}
.poster-link{display:block;width:100%;height:100%}[hidden]{display:none!important}

.account-tag{font:11px monospace;border:1px solid var(--accent);color:var(--accent);padding:8px 10px}.panel select{max-width:100%;padding:10px;background:var(--paper);border:1px solid var(--line)}

/* Keep actions aligned across cards with different title and description lengths. */
.card{display:flex;flex-direction:column;border-width:2px;border-color:var(--line)}
.card .picture{flex-shrink:0}
.card .copy{display:flex;flex-direction:column;flex:1;min-width:0}
.card .copy small{min-height:2.6em;line-height:1.3}
.card .copy p{min-height:0;margin-bottom:18px}
.card .pick{margin-top:auto;min-height:44px}
.result-details{min-width:0}
.result-primary-actions,.result-secondary-actions,.dialog-actions{display:grid;gap:12px;margin:20px 0}
.result-primary-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.result-secondary-actions{grid-template-columns:1fr;max-width:400px;margin-top:24px}
.result-primary-actions button,.result-secondary-actions button,.dialog-actions button{width:100%;min-height:48px;padding:14px 12px}
.result-secondary-actions [data-action="delete"]{border-color:var(--line);font-size:14px;color:#837768}
#app>.muted:last-child{overflow-wrap:anywhere}
@media(max-width:380px){.result-primary-actions{grid-template-columns:1fr}.result-primary-actions button{font-size:15px}}

.export-section{margin:24px 0;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.export-section h3{font-size:18px;margin:0 0 14px}
.export-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.export-platform{display:flex;flex-direction:column;gap:6px;text-align:left;min-height:76px;padding:15px;border:1px solid var(--line);background:#fffbf3;color:var(--ink)}
.export-platform strong{font-size:15px}
.export-platform small{font-size:12px;color:#837768}
.export-platform:last-child{grid-column:1/-1}
.result-primary-actions{grid-template-columns:1fr}
