:root{--bg: #f7f8fa;--surface: #ffffff;--surface2: #f1f3f5;--border: #e2e8f0;--accent: #d97706;--accent-hover: #b45309;--accent-dim: rgba(217, 119, 6, .1);--text: #1a202c;--text-muted: #718096;--error: #e53e3e;--success: #38a169;--radius: 10px}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{background:var(--bg)}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100dvh;font-size:16px;-webkit-font-smoothing:antialiased}.app{max-width:600px;margin:0 auto;display:flex;flex-direction:column;min-height:100dvh}.app-header{padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-bottom:1px solid var(--border)}.app-header-brand{display:flex;flex-direction:column;gap:.1rem}.app-header-actions{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.app-title{font-size:1.5rem;font-weight:800;color:var(--accent);letter-spacing:-.02em;line-height:1}.app-subtitle{font-size:.8rem;color:var(--text-muted);margin-top:.15rem}.player-page{min-height:100dvh;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:1.5rem 1rem;text-align:center}.player-loading,.player-error{color:var(--text-muted);gap:1rem;font-size:1rem}.player-logo{font-size:3rem}.player-header{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.player-header-icon{font-size:1.2rem}.player-card{width:100%;max-width:500px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:2rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;transition:border-color .3s}.player-card--playing{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 32px #f59e0b14}.player-category{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);background:var(--surface2);border:1px solid var(--border);border-radius:999px;padding:.15rem .6rem}.player-product-name{font-size:2rem;font-weight:800;line-height:1.15;letter-spacing:-.02em;color:var(--text)}.player-price{font-size:1.5rem;font-weight:800;color:var(--accent)}.player-announcement-text{font-size:1rem;color:var(--text-muted);font-style:italic;line-height:1.55;max-width:380px}.player-slogan-text{font-size:1.4rem;color:var(--text);font-style:italic;font-weight:700;line-height:1.4;max-width:420px;margin-top:.5rem}.player-empty{color:var(--text-muted);font-size:1rem}.player-progress{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;margin-top:.5rem}.player-dot{width:8px;height:8px;border-radius:50%;background:var(--border);transition:background .2s}.player-dot.active{background:var(--accent)}.player-dot.done{background:var(--surface2);border:1px solid var(--border)}.player-countdown{font-size:.82rem;color:var(--text-muted);margin-top:.25rem}.player-controls-row{display:flex;gap:.75rem}.player-btn{padding:.75rem 1.75rem;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:1rem;font-weight:600;cursor:pointer;min-height:48px;transition:all .15s}.player-btn:hover{border-color:var(--text-muted)}.player-btn--primary{background:var(--accent);color:#000;border-color:var(--accent)}.player-btn--primary:hover{background:var(--accent-hover)}.player-interval{display:flex;flex-direction:column;align-items:center;gap:.5rem}.player-interval-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.player-interval-chips{display:flex;gap:.35rem}.player-counter{font-size:.78rem;color:var(--text-muted)}.auth-loading{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--text-muted);font-size:.95rem}.auth-logo{font-size:2.5rem}.auth-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;padding:2rem 1rem;background:var(--bg)}.auth-brand{text-align:center}.auth-brand-title{font-size:2rem;font-weight:800;color:var(--accent);letter-spacing:-.02em}.auth-brand-sub{font-size:.9rem;color:var(--text-muted);margin-top:.25rem}.cold-start-banner{background:#f59e0b14;border-bottom:1px solid rgba(245,158,11,.25);padding:.6rem 1rem;font-size:.8rem;color:var(--accent);display:flex;align-items:center;gap:.5rem}.tabs{display:flex;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:10}.tab{flex:1;padding:.9rem .5rem;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--text-muted);font-size:.95rem;font-weight:600;cursor:pointer;transition:color .15s,border-color .15s;display:flex;align-items:center;justify-content:center;gap:.4rem}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.badge{background:var(--accent);color:#000;border-radius:999px;font-size:.68rem;font-weight:800;padding:.1rem .45rem;min-width:1.25rem;text-align:center;line-height:1.4}.voice-bar{display:flex;align-items:center;gap:.6rem;padding:.55rem 1rem;background:var(--surface);border-bottom:1px solid var(--border)}.voice-bar-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);flex-shrink:0}.voice-chips{display:flex;gap:.35rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.voice-chips::-webkit-scrollbar{display:none}.content{padding:1rem;flex:1}.tab-panel{display:flex;flex-direction:column;gap:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;padding:.7rem 1.1rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s,opacity .15s;min-height:44px;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:#000}.btn-primary:not(:disabled):hover{background:var(--accent-hover)}.btn-primary:not(:disabled):active{background:var(--accent-hover);filter:brightness(.9)}.btn-secondary{background:var(--surface2);color:var(--text);border:1px solid var(--border)}.btn-secondary:not(:disabled):hover{border-color:var(--text-muted)}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:not(:disabled):hover{color:var(--text);border-color:var(--text-muted)}.btn-ghost.danger:not(:disabled):hover{color:var(--error);border-color:var(--error)}.btn-outline-accent{background:transparent;color:var(--accent);border:1px solid var(--accent)}.btn-outline-accent:not(:disabled):hover{background:var(--accent-dim)}.btn-sm{padding:.4rem .65rem;font-size:.82rem;min-height:34px;border-radius:6px}.btn-large{min-height:56px;font-size:1.05rem;border-radius:10px;padding:.9rem 1.5rem}.btn-toggle{background:var(--surface2);color:var(--text-muted);border:1px solid var(--border)}.btn-toggle.on{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}.product-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem}.section-title{font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.85rem}.form-group{margin-bottom:.75rem}.form-group label{display:block;font-size:.82rem;color:var(--text-muted);font-weight:500;margin-bottom:.3rem}.form-group input,.form-group textarea,.form-group select{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:1rem;padding:.65rem .8rem;outline:none;transition:border-color .15s;font-family:inherit}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent)}.form-group textarea{resize:vertical;min-height:64px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.form-actions{display:flex;gap:.5rem;margin-top:.25rem}.form-actions .btn-primary{flex:1}.product-list{display:flex;flex-direction:column;gap:.5rem}.product-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.product-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem;display:flex;flex-direction:column;gap:0}.product-card-top{display:flex;align-items:flex-start;gap:.75rem}.product-info{flex:1;min-width:0}.product-meta-actions{display:flex;flex-direction:row;gap:.3rem;flex-shrink:0}.product-name-row{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.product-name{font-weight:700;font-size:1rem;line-height:1.2}.product-category{font-size:.7rem;font-weight:600;background:var(--surface2);color:var(--text-muted);padding:.12rem .45rem;border-radius:999px;border:1px solid var(--border);text-transform:uppercase;letter-spacing:.04em}.product-price{display:block;color:var(--accent);font-weight:800;font-size:1.1rem;margin-top:.15rem}.product-description{font-size:.82rem;color:var(--text-muted);margin-top:.2rem;line-height:1.4}.product-text-section{margin-top:.65rem;padding:.55rem .65rem;background:var(--surface2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;display:flex;align-items:flex-start;gap:.5rem}.product-text-content{flex:1;font-size:.85rem;color:var(--text);font-style:italic;line-height:1.5}.product-text-generating,.product-text-empty{flex:1;font-size:.82rem;color:var(--text-muted);font-style:italic;display:flex;align-items:center;gap:.35rem}.product-text-regen-btn{flex-shrink:0;padding:.2rem .45rem;min-height:28px;font-size:.85rem;align-self:flex-start}.announcements-section{margin-top:.75rem;padding-top:.65rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.5rem}.announcements-section-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted)}.announcement-entry{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:.5rem .65rem;display:flex;flex-direction:column;gap:.3rem}.announcement-entry-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.announcement-voice-tag{font-size:.72rem;font-weight:700;background:var(--accent-dim);color:var(--accent);border:1px solid rgba(245,158,11,.3);border-radius:999px;padding:.1rem .5rem;white-space:nowrap}.announcement-entry-btns{display:flex;gap:.3rem;flex-shrink:0}.announcement-text{font-size:.82rem;color:var(--text-muted);line-height:1.45;font-style:italic}.product-bottom-actions{margin-top:.65rem;padding-top:.55rem;border-top:1px solid var(--border);display:flex;gap:.5rem;align-items:center;justify-content:flex-end}.product-generate-btn-inline{white-space:nowrap;flex-shrink:0}.announcement-generating{font-size:.78rem;color:var(--accent);font-style:italic}.announcement-queue{display:flex;flex-direction:column;gap:.5rem}.queue-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.8rem;display:flex;align-items:flex-start;gap:.6rem;transition:border-color .15s,background .15s}.queue-item.is-playing{border-color:var(--accent);background:var(--accent-dim)}.queue-item.is-error{border-color:var(--error)}.drag-handle{cursor:grab;color:var(--border);font-size:1.1rem;padding:.2rem 0;flex-shrink:0;touch-action:none;-webkit-user-select:none;user-select:none;line-height:1}.drag-handle:active{cursor:grabbing}.queue-status-icon{flex-shrink:0;width:1.4rem;text-align:center;font-size:.85rem;padding-top:.1rem}.queue-item-body{flex:1;min-width:0}.queue-item-name-row{display:flex;justify-content:space-between;align-items:baseline;gap:.4rem}.queue-item-name{font-weight:700;font-size:.95rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-item-price{color:var(--accent);font-weight:700;font-size:.85rem;flex-shrink:0}.queue-item-text{font-size:.82rem;color:var(--text-muted);margin-top:.3rem;line-height:1.45}.queue-item-generating{font-size:.78rem;color:var(--accent);margin-top:.25rem;display:flex;align-items:center;gap:.3rem}.spin{display:inline-block;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.queue-item-actions{display:flex;flex-direction:column;gap:.3rem;flex-shrink:0}.player-controls{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem;display:flex;flex-direction:column;gap:1rem}.player-status{text-align:center}.player-progress{font-size:.9rem;color:var(--text-muted);display:flex;align-items:center;justify-content:center;gap:.5rem}.now-playing-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--accent);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.current-text-box{margin-top:.75rem;background:var(--surface2);border:1px solid var(--accent);border-radius:8px;padding:.75rem 1rem}.current-text{font-size:1rem;line-height:1.5;color:var(--text);font-style:italic}.player-main-btns{display:flex;gap:.6rem}.player-main-btns .btn{flex:1}.player-settings{display:flex;flex-direction:column;gap:.75rem;padding-top:.25rem;border-top:1px solid var(--border)}.setting-row{display:flex;align-items:center;gap:.75rem}.setting-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);min-width:4.5rem;flex-shrink:0}.interval-chips{display:flex;gap:.35rem;flex-wrap:wrap;flex:1}.chip{padding:.3rem .65rem;background:var(--surface2);border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .12s;min-height:32px;display:inline-flex;align-items:center}.chip:hover{color:var(--text);border-color:var(--text-muted)}.chip.active{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}.custom-seconds{width:90px;background:var(--surface2);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.88rem;padding:.3rem .6rem;outline:none;min-height:32px}.custom-seconds:focus{border-color:var(--accent)}.empty-state{text-align:center;color:var(--text-muted);padding:2.5rem 1rem;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);line-height:1.7}.empty-state .emoji{font-size:2rem;margin-bottom:.5rem;display:block}.loading-row{text-align:center;color:var(--text-muted);padding:2rem;font-size:.9rem}
