*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f0f1a;--surface: #1a1a2e;--surface2: #22223a;--border: #2e2e4a;--accent: #7c6af5;--accent-lo: rgba(124, 106, 245, .18);--accent-glow: rgba(124, 106, 245, .4);--text: #e8e8f2;--muted: #7878a0;--danger: #f55b5b;--success: #4cbb7a;--r: 14px;--r-sm: 10px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-size:16px;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.app{height:100%;display:flex;flex-direction:column;max-width:430px;margin:0 auto;position:relative}@media (min-width: 480px){body{background:#07070f}.app{background:var(--bg);box-shadow:0 0 0 1px var(--border),0 32px 64px #0009}}.header{display:flex;justify-content:space-between;align-items:center;padding:calc(var(--safe-top) + 8px) 8px 8px;flex-shrink:0}.header-left{display:flex;align-items:center}.icon-btn{background:none;border:none;color:var(--muted);cursor:pointer;min-width:44px;min-height:44px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.icon-btn:hover{color:var(--text);background:var(--surface)}.icon-btn:active{color:var(--text);background:var(--surface2)}.list-btn{position:relative}.badge{position:absolute;top:6px;right:6px;background:var(--accent);color:#fff;font-size:9px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px;pointer-events:none}.sync-btn.success{color:var(--success)}.sync-btn.error{color:var(--danger)}.main{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden}.mic-area{display:flex;flex-direction:column;align-items:center;gap:32px}.mic-button{width:140px;height:140px;border-radius:50%;border:none;background:var(--accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 0 var(--accent-glow);transition:transform .15s,box-shadow .2s;-webkit-user-select:none;user-select:none}@media (hover: hover){.mic-button:hover{transform:scale(1.04);box-shadow:0 0 0 18px var(--accent-lo)}}.mic-button:active{transform:scale(.94)}.mic-button:disabled{opacity:.4;cursor:not-allowed}.mic-button.recording{background:var(--danger);animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 #f55b5b73}50%{box-shadow:0 0 0 28px #f55b5b00}}.mic-hint{font-size:15px;color:var(--muted);letter-spacing:.01em}.status-block{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;color:var(--muted)}.status-block.error{color:var(--danger)}.hint{font-size:13px;color:var(--muted);text-align:center;line-height:1.55}.spinner{width:44px;height:44px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.task-editor{width:100%;display:flex;flex-direction:column;gap:14px}.editor-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.task-editor textarea{width:100%;min-height:160px;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r);color:var(--text);font-size:16px;font-family:inherit;line-height:1.6;padding:16px;resize:none;outline:none;transition:border-color .2s}.task-editor textarea:focus{border-color:var(--accent)}.editor-hint{font-size:12px;color:var(--muted)}.editor-actions{display:flex;gap:10px;margin-top:2px}.btn-primary,.btn-secondary{flex:1;min-height:52px;padding:0 16px;border:none;border-radius:var(--r-sm);font-size:16px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .1s}.btn-primary:active,.btn-secondary:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:disabled{opacity:.35;cursor:not-allowed}.btn-primary:hover:not(:disabled){opacity:.88}.btn-secondary{background:var(--surface2);color:var(--text)}.btn-secondary:hover{background:var(--border)}.btn-secondary.danger{color:var(--danger)}.btn-secondary.danger:hover{background:#f55b5b1f}.overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:flex-end;z-index:100;backdrop-filter:blur(8px);animation:fade-in .18s ease}@keyframes fade-in{0%{opacity:0}}.sheet{background:var(--surface);border-radius:var(--r) var(--r) 0 0;width:100%;max-width:430px;margin:0 auto;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:slide-up .28s cubic-bezier(.32,.72,0,1);padding-bottom:var(--safe-bottom)}@keyframes slide-up{0%{transform:translateY(100%)}}.drag-handle{width:36px;height:4px;background:var(--border);border-radius:2px;margin:10px auto 6px;flex-shrink:0}.sheet-header{display:flex;justify-content:space-between;align-items:center;padding:10px 8px 0 18px;flex-shrink:0}.sheet-header h2{font-size:18px;font-weight:700}.sheet-header-actions{display:flex;align-items:center}.task-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 16px 16px;display:flex;flex-direction:column;gap:8px;overscroll-behavior:contain}.empty-state{color:var(--muted);text-align:center;padding:48px 0;font-size:15px;line-height:1.6}.task-item{display:flex;align-items:center;gap:4px;background:var(--surface2);border-radius:var(--r-sm);padding:14px 4px 14px 14px;transition:background .15s}.task-body{flex:1;min-width:0}.task-text{font-size:15px;line-height:1.5;word-break:break-word}.task-date{font-size:12px;color:var(--muted);margin-top:4px;display:block}.delete-btn{background:none;border:none;color:var(--muted);cursor:pointer;font-size:14px;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--r-sm);transition:color .15s,background .15s}.delete-btn:hover{color:var(--danger);background:#f55b5b14}.delete-btn.confirm{color:var(--danger);background:#f55b5b24}.sheet-footer{display:flex;gap:10px;padding:12px 16px 16px;border-top:1px solid var(--border);flex-shrink:0}@media (pointer: fine){::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}}
