*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #dfe1e5;--sd: #b8babe;--sl: #ffffff;--text: #2a2f45;--text-2: #5c5f68;--text-3: #8b8e96;--accent: #c0392b;--accent-hover: #e74c3c;--accent-soft: rgba(192, 57, 43, .1);--success: #10b981;--success-bg: #c8e6d5;--success-sd: #a8c5b4;--success-sl: #eafff2;--error: #ef4444;--error-bg: #ebd0d0;--error-sd: #cbb4b4;--error-sl: #fff5f5;--radius: 28px;--radius-sm: 20px;--radius-xs: 14px;--font: "Outfit", system-ui, sans-serif;--ease: cubic-bezier(.4, 0, .2, 1)}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}input,textarea,button{font-family:inherit;font-size:inherit}button{cursor:pointer;border:none;background:none;color:inherit}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--sd);border-radius:3px}.page{max-width:700px;margin:0 auto;padding:3rem 1.5rem 1.5rem;width:100%;flex:1;display:flex;flex-direction:column;position:relative;z-index:1}.content{display:flex;flex-direction:column;gap:1.5rem;flex:1}.hero{text-align:center;margin-bottom:2.5rem;animation:fadeIn .6s var(--ease) both}.logo{display:inline-flex;align-items:center;gap:.75rem;padding:.6rem 1.6rem .6rem 1.2rem;background:linear-gradient(145deg,#e8eaee,#d6d8dc);border-radius:100px;box-shadow:8px 8px 20px var(--sd),-8px -8px 20px var(--sl)}.logo-bars{display:flex;align-items:center;gap:3px;height:28px}.logo-bars span{display:block;width:3.5px;border-radius:100px;background:linear-gradient(180deg,var(--accent),var(--accent-hover));animation:eqBounce 1.2s ease-in-out infinite alternate}.logo-bars span:nth-child(1){height:40%;animation-delay:0s}.logo-bars span:nth-child(2){height:80%;animation-delay:.15s}.logo-bars span:nth-child(3){height:55%;animation-delay:.3s}.logo-bars span:nth-child(4){height:70%;animation-delay:.45s}@keyframes eqBounce{0%{transform:scaleY(.4)}50%{transform:scaleY(1)}to{transform:scaleY(.6)}}.logo-text{font-size:1.8rem;font-weight:700;letter-spacing:-.03em;color:var(--text);line-height:1}.logo-tld{color:var(--accent);font-weight:600}.hero-subtitle{font-size:1.05rem;color:var(--text-3);margin-top:1rem;font-weight:400}.card{background:linear-gradient(145deg,#e8eaee,#d6d8dc);border-radius:var(--radius);padding:1.75rem;box-shadow:12px 12px 24px var(--sd),-12px -12px 24px var(--sl);animation:fadeIn .5s var(--ease) both}.card-bottom{height:200px;flex-shrink:0;overflow:hidden;display:flex;flex-direction:column;background:transparent;box-shadow:inset 5px 5px 12px var(--sd),inset -5px -5px 12px var(--sl);transition:height .5s var(--ease),background .5s var(--ease),box-shadow .5s var(--ease)}.card-bottom--active{background:linear-gradient(145deg,#e8eaee,#d6d8dc);box-shadow:12px 12px 24px var(--sd),-12px -12px 24px var(--sl);justify-content:center}.card-bottom--result{height:293px}.card-result{padding:1rem}.card-result--error{display:flex;flex-direction:column;text-align:center;min-height:200px}.card-result--error .alert-error{flex:1;display:flex;align-items:center;justify-content:center}.card-result--error .result-bottom{width:100%}.card-header{margin-bottom:1.25rem}.card-title{font-size:1.2rem;font-weight:600;color:var(--text);letter-spacing:-.01em}.card-desc{font-size:.95rem;color:var(--text-3);margin-top:.4rem;line-height:1.55;font-weight:400}.upload-zone{border:none;border-radius:var(--radius-sm);padding:2.5rem 1.5rem;text-align:center;cursor:pointer;transition:box-shadow .3s var(--ease),background .3s var(--ease);background:var(--bg);box-shadow:inset 5px 5px 12px var(--sd),inset -5px -5px 12px var(--sl)}.upload-zone:hover,.upload-zone.drag-over{box-shadow:inset 6px 6px 16px #a5a7ab,inset -6px -6px 16px var(--sl);background:#d5d7db}.upload-icon{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;border-radius:14px;background:linear-gradient(145deg,#e8eaee,#d6d8dc);color:var(--text-3);margin-bottom:.75rem;box-shadow:4px 4px 10px var(--sd),-4px -4px 10px var(--sl)}.upload-icon svg{width:22px;height:22px}.upload-text{font-size:1rem;color:var(--text-2);font-weight:400}.upload-text strong{color:var(--accent);font-weight:600}.upload-hint{font-size:.88rem;color:var(--text-3);margin-top:.3rem;font-weight:400}.voice-block--active{background:var(--bg);border-radius:var(--radius-sm);box-shadow:inset 5px 5px 12px var(--sd),inset -5px -5px 12px var(--sl);overflow:hidden}.upload-file-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .5rem .5rem 1rem;margin:.75rem .75rem 0;background:linear-gradient(145deg,#e8eaee,#d6d8dc);border-radius:100px;box-shadow:3px 3px 8px var(--sd),-3px -3px 8px var(--sl)}.upload-file-icon{color:var(--accent);flex-shrink:0}.upload-file-name{font-weight:600;font-size:.92rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.upload-file-delete{width:30px;height:30px;border-radius:50%;background:var(--bg);color:var(--text-3);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .2s var(--ease),box-shadow .2s var(--ease);box-shadow:inset 3px 3px 6px var(--sd),inset -3px -3px 6px var(--sl)}.upload-file-delete:hover{color:var(--error)}.voice-block--active .waveform-wrap{box-shadow:none;background:transparent;margin-top:0;border-radius:0;padding:.5rem .75rem .75rem}.waveform-wrap{margin-top:1rem;background:var(--bg);border-radius:var(--radius-xs);padding:.75rem;box-shadow:inset 4px 4px 10px var(--sd),inset -4px -4px 10px var(--sl);animation:fadeIn .3s var(--ease) both}.waveform-controls{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.play-btn{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;transition:box-shadow .2s var(--ease),transform .15s var(--ease);flex-shrink:0;box-shadow:4px 4px 12px var(--sd),-4px -4px 12px var(--sl)}.play-btn:hover{transform:scale(1.05);box-shadow:6px 6px 16px var(--sd),-6px -6px 16px var(--sl)}.play-btn:active{transform:scale(.95);box-shadow:2px 2px 6px var(--sd),-2px -2px 6px var(--sl)}.time-display{font-size:.88rem;color:var(--text-3);font-variant-numeric:tabular-nums;font-weight:500}.field{margin-top:1rem}.field-label{display:block;font-size:.95rem;font-weight:500;color:var(--text-2);margin-bottom:.3rem}.field-help{font-size:.88rem;color:var(--text-3);margin-bottom:.5rem;font-weight:400}.field-textarea{width:100%;background:var(--bg);border:none;border-radius:var(--radius-xs);padding:.875rem 1rem;color:var(--text);font-weight:400;font-size:1rem;resize:vertical;line-height:1.65;transition:box-shadow .25s var(--ease);box-shadow:inset 4px 4px 10px var(--sd),inset -4px -4px 10px var(--sl)}.field-textarea:focus{outline:none;box-shadow:inset 4px 4px 10px var(--sd),inset -4px -4px 10px var(--sl),0 0 0 2.5px #c0392b66}.field-textarea::placeholder{color:var(--text-3)}.field-count{text-align:right;font-size:.82rem;color:var(--text-3);margin-top:.3rem;font-variant-numeric:tabular-nums}.field-count.over{color:var(--error);font-weight:600}.btn-primary{width:100%;padding:.9rem 1.5rem;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);color:#fff;font-weight:600;font-size:1.05rem;border-radius:var(--radius-xs);transition:box-shadow .25s var(--ease),transform .15s var(--ease),opacity .2s var(--ease);margin-top:1.25rem;box-shadow:5px 5px 14px var(--sd),-5px -5px 14px var(--sl);letter-spacing:.01em}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:7px 7px 20px var(--sd),-7px -7px 20px var(--sl)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:2px 2px 6px var(--sd),-2px -2px 6px var(--sl)}.btn-primary:disabled{background:linear-gradient(135deg,#b8bbbe,#acaeb2);color:#8b8e96;box-shadow:none;cursor:not-allowed}.btn-primary.loading{pointer-events:none}.btn-outline{display:inline-flex;align-items:center;gap:.4rem;padding:.65rem 1.5rem;background:linear-gradient(145deg,#e8eaee,#d6d8dc);border:none;border-radius:var(--radius-xs);color:var(--text-2);font-size:.95rem;font-weight:500;transition:box-shadow .25s var(--ease),color .2s var(--ease);box-shadow:5px 5px 12px var(--sd),-5px -5px 12px var(--sl)}.btn-outline:hover{color:var(--text);box-shadow:3px 3px 8px var(--sd),-3px -3px 8px var(--sl)}.btn-outline:active{box-shadow:inset 3px 3px 7px var(--sd),inset -3px -3px 7px var(--sl)}.btn-text{font-size:.9rem;color:var(--text-3);font-weight:500;padding:.5rem 1rem;margin-top:.5rem;transition:color .2s var(--ease)}.btn-text:hover{color:var(--text)}.btn-download{display:inline-flex;align-items:center;gap:.4rem;padding:.65rem 1.5rem;background:linear-gradient(145deg,#e8eaee,#d6d8dc);border:none;border-radius:var(--radius-xs);color:var(--text);font-size:.95rem;font-weight:500;transition:box-shadow .25s var(--ease),color .2s var(--ease);text-decoration:none;box-shadow:5px 5px 12px var(--sd),-5px -5px 12px var(--sl)}.btn-download:hover{color:var(--accent);box-shadow:3px 3px 8px var(--sd),-3px -3px 8px var(--sl)}.btn-download:active{box-shadow:inset 3px 3px 7px var(--sd),inset -3px -3px 7px var(--sl)}.progress-wrap{animation:fadeIn .3s var(--ease) both}.progress-status{font-size:1rem;color:var(--text-2);margin-bottom:.75rem;font-weight:500}.progress-track{height:6px;background:var(--bg);border-radius:4px;overflow:hidden;box-shadow:inset 2px 2px 5px var(--sd),inset -2px -2px 5px var(--sl)}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-hover));border-radius:4px;transition:width .4s var(--ease);position:relative}.progress-fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 1.5s ease infinite}.progress-meta{display:flex;justify-content:space-between;font-size:.82rem;color:var(--text-3);margin-top:.4rem;font-variant-numeric:tabular-nums}.alert{font-size:.95rem;padding:.75rem 1rem;border-radius:var(--radius-xs);font-weight:500;border:none}.alert-error{background:var(--error-bg);color:var(--error);box-shadow:inset 3px 3px 7px var(--error-sd),inset -3px -3px 7px var(--error-sl)}.result-wrap{animation:fadeIn .4s var(--ease) both;background:var(--bg);border-radius:var(--radius-sm);box-shadow:inset 5px 5px 12px var(--sd),inset -5px -5px 12px var(--sl);overflow:hidden}.result-header{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;margin:.75rem .75rem 0;background:linear-gradient(145deg,#e8eaee,#d6d8dc);border-radius:100px;box-shadow:3px 3px 8px var(--sd),-3px -3px 8px var(--sl)}.result-header-icon{color:var(--success);flex-shrink:0}.result-header-text{font-weight:600;font-size:.92rem;color:var(--success);flex:1}.result-header-duration{font-size:.82rem;color:var(--text-3);flex-shrink:0;font-weight:400}.result-header-download{width:30px;height:30px;border-radius:50%;background:var(--bg);color:var(--text-3);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .2s var(--ease);box-shadow:inset 3px 3px 6px var(--sd),inset -3px -3px 6px var(--sl);text-decoration:none}.result-header-download:hover{color:var(--accent)}.result-waveform{padding:.5rem .75rem}.result-actions{display:flex;align-items:center;gap:.75rem;padding:0 .75rem .75rem}.result-bottom{display:flex;gap:1.25rem;margin-top:1.25rem}.btn-inset{flex:1;padding:.8rem 1rem;background:linear-gradient(145deg,#e8eaee,#d6d8dc);border:none;border-radius:var(--radius-xs);color:var(--text-2);font-family:var(--font);font-size:.95rem;font-weight:600;text-align:center;text-decoration:none;cursor:pointer;box-shadow:5px 5px 14px var(--sd),-5px -5px 14px var(--sl);transition:color .2s var(--ease),box-shadow .2s var(--ease),transform .15s var(--ease)}.btn-inset:hover{color:var(--text);transform:translateY(-1px);box-shadow:7px 7px 20px var(--sd),-7px -7px 20px var(--sl)}.btn-inset:active{transform:translateY(0);box-shadow:2px 2px 6px var(--sd),-2px -2px 6px var(--sl)}.checklist{display:flex;flex-direction:column;justify-content:center;height:100%}.checklist-items{display:flex;flex-direction:column;justify-content:space-evenly;flex:1}.checklist-chip{display:flex;align-items:center;gap:.6rem;padding:.45rem .9rem .45rem .45rem;background:linear-gradient(145deg,#e8eaee,#d6d8dc);border-radius:100px;box-shadow:3px 3px 8px var(--sd),-3px -3px 8px var(--sl);font-size:.88rem;color:var(--text-3);font-weight:400;transition:color .3s var(--ease)}.checklist-chip.done{color:var(--text-2)}.checklist-badge{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;flex-shrink:0;transition:all .3s var(--ease);background:var(--bg);box-shadow:inset 2px 2px 5px var(--sd),inset -2px -2px 5px var(--sl);color:var(--text-3)}.checklist-chip.done .checklist-badge{background:linear-gradient(135deg,var(--success),#34d399);box-shadow:none;color:#fff}.footer{text-align:center;padding:2rem 1.5rem 1.5rem;font-size:.88rem;color:var(--text-3);margin-top:auto;position:relative;z-index:1}.footer .rate-info{margin-top:.2rem;font-variant-numeric:tabular-nums}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin-right:.5rem;vertical-align:middle}@media(min-width:960px){.page{max-width:1080px;padding-top:3.5rem}.cards-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr;gap:2.5rem;flex:1}.cards-grid .card{display:flex;flex-direction:column}.cards-grid .card>.field{flex:1;display:flex;flex-direction:column}.cards-grid .card>.field .field-textarea{flex:1;min-height:100px}}@media(max-width:600px){.page{padding:2rem 1rem 1rem}.hero{margin-bottom:2rem}.logo{padding:.5rem 1.3rem .5rem 1rem}.logo-text{font-size:1.5rem}.card{padding:1.25rem;border-radius:22px;box-shadow:9px 9px 20px var(--sd),-9px -9px 20px var(--sl)}.upload-zone{padding:2rem 1rem}.card-bottom{height:auto;min-height:180px}}
