:root{color-scheme:light dark;font:16px/1.5 system-ui,sans-serif}body{margin:0}main{margin:4rem auto;max-width:32rem;padding:0 1rem 4rem}button{font:inherit;padding:.4rem .9rem;border-radius:6px;cursor:pointer}dl{display:grid;grid-template-columns:max-content 1fr;gap:.25rem 1rem;margin:1.5rem 0}dt{color:#6b7280}dd{margin:0;font-family:ui-monospace,monospace}.muted{color:#6b7280}.error{color:#b91c1c}form{display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0}label{display:flex;flex-direction:column;gap:.25rem}input{font:inherit;padding:.4rem .6rem;border:1px solid #6b7280;border-radius:6px}.link{background:none;border:none;padding:0;color:#2563eb;text-decoration:underline}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.upload-button{display:inline-block;padding:.4rem .9rem;border-radius:6px;border:1px solid #6b7280;cursor:pointer}.file-list{list-style:none;margin:1.5rem 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.file-row{display:flex;flex-direction:column;gap:.4rem;padding:.5rem 0;border-bottom:1px solid rgba(107,114,128,.3)}.file-main{display:flex;align-items:center;gap:.75rem}.file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#6b7280}.file-meta>span+span:before{content:"·";margin-right:.5rem}.file-duration{font-family:ui-monospace,monospace;font-variant-numeric:tabular-nums}.status-badge{font-size:.8rem;padding:.15rem .5rem;border-radius:999px;color:#fff}.status-uploading{background:#2563eb}.status-transcoding{background:#db2777}.status-transcode-failed{background:#b91c1c}.toast-stack{position:fixed;right:1rem;bottom:1rem;display:flex;flex-direction:column;gap:.5rem;width:min(20rem,calc(100vw - 2rem))}.toast{padding:.6rem .8rem;border-radius:8px;color:#fff;box-shadow:0 2px 8px #0003}.toast-success{background:#15803d}.toast-error{background:#b91c1c}.toast-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.toast-close{background:none;border:none;padding:0;color:inherit;cursor:pointer;font-size:1rem;line-height:1}.player-bar{position:fixed;left:0;right:0;bottom:0;display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;background:#111827;color:#fff;box-shadow:0 -2px 8px #0003}.player-name{flex-shrink:0;max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-transport{display:flex;flex-shrink:0;gap:.75rem}.player-scrub{display:flex;align-items:center;flex:1;min-width:0;gap:.75rem}.player-time{flex-shrink:0;font-family:ui-monospace,monospace;font-size:.85rem}.player-seek{flex:1;min-width:0}.player-volume{width:6rem;flex-shrink:0}.player-tiers{display:flex;flex-shrink:0;gap:.15rem}.player-tier{font:inherit;font-size:.7rem;font-family:ui-monospace,monospace;padding:.15rem .35rem;border:1px solid rgba(255,255,255,.3);border-radius:4px;background:none;color:#ffffffa6;cursor:pointer}.player-tier-active{border-color:#fff;background:#ffffff26;color:#fff}.link:disabled{color:#6b7280;text-decoration:none;cursor:default}.transcodes{display:grid;grid-template-columns:2.5rem 1fr 3.5rem;gap:.2rem .5rem;align-items:center;font-size:.75rem;color:#6b7280}.tier{display:grid;grid-column:1 / -1;grid-template-columns:subgrid}.tier-label{font-family:ui-monospace,monospace}.tier-track{height:.4rem;border-radius:999px;overflow:hidden;background:#6b728040}.tier-fill{height:100%;border-radius:999px;transition:width .3s ease-out}.tier-state{text-align:right;font-variant-numeric:tabular-nums}.tier-pending .tier-state{color:#9ca3af;font-style:italic}.tier-running .tier-fill{background:#2563eb}.tier-running .tier-state{color:#2563eb}.tier-ready .tier-fill{background:#15803d}.tier-ready .tier-state{color:#15803d}.tier-failed .tier-track{background:#b91c1c40}.tier-failed .tier-state{color:#b91c1c}@media(max-width:40rem){main{margin:2rem auto;padding-bottom:11rem}.file-main{flex-wrap:wrap;gap:.5rem .75rem}.file-name{flex:1 0 100%}.player-bar{flex-wrap:wrap;gap:.5rem;padding:.5rem .75rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom))}.player-name{flex:1 0 100%;max-width:none;font-size:.9rem;order:1}.player-scrub{flex:1 0 100%;order:2}.player-transport{order:3}.player-seek{height:2rem}.player-transport button{padding:.5rem .8rem}.player-tiers{margin-left:auto;gap:.25rem;order:4}.player-tier{padding:.4rem .35rem}.player-volume{display:none}}
