*{box-sizing:border-box;margin:0;padding:0}button{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea,select{touch-action:manipulation;font-size:16px}:root{--bg-primary:#121212;--bg-secondary:#1a1a1a;--bg-card:#1e1e1e;--bg-input:#252525;--bg-hover:#2a2a2a;--text-primary:#e0e0e0;--text-secondary:#9ca3af;--text-muted:#6b7280;--accent:#ff6b35;--accent-hover:#ff8c42;--accent-light:#ff6b351f;--border:#333;--border-light:#2a2a2a;--danger:#ef4444;--success:#22c55e;--warning:#f59e0b;--radius:8px;--radius-lg:12px;--shadow:0 2px 8px #0000004d}html,body{background:var(--bg-primary);height:100%;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;overflow:hidden}#root{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}input,textarea,select{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius);outline:none;width:100%;padding:10px 14px;font-size:14px;transition:border-color .2s}input:focus,textarea:focus,select:focus{border-color:var(--accent)}button{cursor:pointer;border-radius:var(--radius);border:none;padding:10px 20px;font-size:14px;transition:all .2s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#16a34a}.btn-secondary{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-hover)}.btn-danger{color:var(--danger);border:1px solid var(--danger);background:0 0;padding:6px 12px;font-size:12px}.btn-danger:hover{background:#ef44441a}.btn-icon{color:var(--text-secondary);background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:6px;display:flex}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.status-badge{border-radius:20px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.status-pending{color:var(--warning);background:#f59e0b26}.status-in_progress{color:#60a5fa;background:#3b82f626}.status-done{color:var(--success);background:#22c55e26}.page{flex-direction:column;height:100vh;display:flex}.mobile-page{height:100vh;height:-webkit-fill-available;min-height:-webkit-fill-available;overflow:hidden auto}.page.settings-page{height:100vh!important;height:-webkit-fill-available!important;min-height:0!important;overflow:hidden auto!important}.settings-page{overflow:hidden auto}.container{flex-direction:column;flex:1;width:100%;max-width:900px;min-height:0;margin:0 auto;padding:20px;display:flex}.settings-container{flex:auto;min-height:0;padding-bottom:40px;overflow:auto!important}.form-group{margin-bottom:16px}.form-group label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow);padding:40px}.auth-card h1{margin-bottom:8px;font-size:24px}.auth-card .subtitle{color:var(--text-secondary);margin-bottom:24px;font-size:14px}.auth-card .error{color:var(--danger);border-radius:var(--radius);background:#ef44441a;margin-bottom:16px;padding:10px;font-size:13px}.auth-card .link{text-align:center;color:var(--text-secondary);margin-top:20px;font-size:14px}.header-bar{background:var(--bg-secondary);border-bottom:1px solid var(--border);z-index:100;justify-content:space-between;align-items:center;padding:12px 20px;display:flex;position:sticky;top:0}.header-bar h2{align-items:center;gap:0;font-size:18px;display:flex}.header-bar .accent{color:var(--accent)}.empty-state{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-state p{margin-bottom:8px;font-size:16px}.empty-state .sub{font-size:13px}.modal-overlay{z-index:200;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;padding:24px;overflow-y:auto}.modal h3{margin-bottom:16px}textarea{resize:vertical;min-height:80px}.markdown p{margin-bottom:8px}.markdown ul,.markdown ol{margin-bottom:8px;padding-left:20px}.markdown code{background:var(--bg-input);border-radius:4px;padding:2px 6px;font-size:13px}.markdown pre{background:var(--bg-input);border-radius:var(--radius);margin-bottom:8px;padding:12px;overflow-x:auto}.markdown h1,.markdown h2,.markdown h3{margin-top:16px;margin-bottom:8px}.task-detail-scroll{flex:1;min-height:0;padding:12px 16px 80px;overflow-y:auto}.task-detail-main,.task-detail-desc{min-width:0}.task-detail-right{width:100%}.task-detail-split{display:block}@media (width>=640px){.task-detail-scroll{flex-direction:row;align-items:flex-start;gap:20px;width:100%;max-width:1300px;margin:0 auto;padding:12px 20px 80px;display:flex}.task-detail-main{flex:1;min-width:0}.task-detail-desc,.task-detail-right{flex:1;min-width:0;max-height:60vh;padding-bottom:20px;overflow-y:auto}.task-detail-split{flex-direction:row;gap:20px;width:100%;display:flex}}.slide-backdrop{background:var(--bg-primary);z-index:300;position:fixed;inset:0}.slide-panel{background:var(--bg-primary);z-index:301;width:100vw;height:100vh;transition:transform .35s cubic-bezier(.22,1,.36,1);position:fixed;top:0;left:0;overflow-y:auto;transform:translate(100%)}.slide-panel.open{transform:translate(0)}.create-form-wrap{opacity:0;max-height:0;margin-bottom:0;transition:max-height .35s cubic-bezier(.22,1,.36,1),opacity .25s ease-out,margin .3s ease-out;overflow:hidden}.create-form-wrap.open{opacity:1;max-height:2000px;margin-bottom:16px;overflow-y:auto}.create-form-inner{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}.task-card-clickable{transition:border-color .15s,transform .15s}.task-card-clickable:hover{border-color:var(--accent);transform:translate(3px)}.switch{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background:var(--bg-hover);border-radius:24px;transition:all .3s;position:absolute;inset:0}.slider:before{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;bottom:3px;left:3px}input:checked+.slider{background:var(--accent)}input:checked+.slider:before{transform:translate(20px)}.switch input:disabled+.slider{opacity:.4;cursor:not-allowed}.tab-bar{align-items:center;gap:4px;display:flex}.tab-btn{border-radius:var(--radius-lg);color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border:1.5px solid #0000;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;line-height:1;transition:all .2s;display:flex}.tab-btn.active{border-color:var(--accent);color:var(--text-primary);background:#ff6b3514}.tab-btn.inactive{color:var(--text-muted);background:0 0;border-color:#0000;padding:6px 8px}.tab-btn.inactive:hover{color:var(--text-secondary);background:var(--bg-hover)}::-webkit-scrollbar{width:0}html,body{scrollbar-width:none}
