*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f7f7f5;--surface: #ffffff;--border: #e8e8e6;--text-primary: #18181b;--text-secondary: #71717a;--text-placeholder: #a1a1aa;--accent: #18181b;--accent-fg: #ffffff;--danger: #dc2626;--danger-fg: #ffffff;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif}html{font-family:var(--font);background:var(--bg);color:var(--text-primary);-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100vh;min-height:100dvh}#root{min-height:100vh;min-height:100dvh}.page{width:100%;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding-bottom:max(32px,env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;gap:4px;padding:0 8px;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:12px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.topbar-back{background:none;border:none;color:var(--text-primary);font-size:16px;font-family:var(--font);cursor:pointer;padding:8px;min-width:70px;min-height:44px;text-align:left;white-space:nowrap;display:flex;align-items:center;-webkit-tap-highlight-color:transparent}.topbar-center{flex:1;text-align:center;min-width:0;padding:0 4px}.topbar-title{font-size:16px;font-weight:600;letter-spacing:-.2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-subtitle{font-size:12px;color:var(--text-secondary);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-spacer{min-width:70px}.topics-header{padding-top:max(20px,env(safe-area-inset-top));padding-left:20px;padding-right:20px;padding-bottom:16px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.page-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px}.page-header .btn{width:100%}.page-title{font-size:28px;font-weight:700;letter-spacing:-.5px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:var(--radius-sm);font-family:var(--font);font-size:15px;font-weight:500;cursor:pointer;border:none;min-height:44px;white-space:nowrap;-webkit-tap-highlight-color:transparent;transition:opacity .1s}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-fg)}.btn-primary:active{opacity:.75}.btn-secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:active{opacity:.7}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:active{opacity:.6}.btn-danger{background:var(--danger);color:var(--danger-fg)}.btn-danger:active{opacity:.8}.icon-btn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:none;background:transparent;cursor:pointer;color:var(--text-secondary);-webkit-tap-highlight-color:transparent;transition:background .1s,color .1s}.icon-btn:active{background:var(--border);color:var(--text-primary)}.icon-btn-danger:active{background:#fee2e2;color:var(--danger)}.card-list{list-style:none;padding:12px 16px 0;display:flex;flex-direction:column;gap:8px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:4px 4px 4px 16px;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;min-height:60px;-webkit-tap-highlight-color:transparent;transition:background .1s}.card:active{background:#f3f3f1}.card-dragging{box-shadow:0 8px 24px #0000001f;background:var(--surface)}.btn-add{font-size:24px;font-weight:400;padding:0;width:52px;height:52px;border-radius:var(--radius);flex-shrink:0}.card-title{font-size:16px;font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}.card-actions{display:flex;align-items:center;gap:0;flex-shrink:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:56px 32px;text-align:center;gap:8px}.empty-state-title{font-size:17px;font-weight:600;color:var(--text-primary)}.empty-state-desc{font-size:14px;color:var(--text-secondary);line-height:1.55}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:flex-end;justify-content:center;z-index:100;padding-bottom:env(safe-area-inset-bottom,0px)}.modal{background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:24px 20px 32px;width:100%;max-width:480px}.modal-title{font-size:18px;font-weight:600;margin-bottom:16px;letter-spacing:-.2px}.modal-body{font-size:14px;color:var(--text-secondary);line-height:1.55;margin-bottom:24px}.modal-input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font);font-size:16px;color:var(--text-primary);background:var(--bg);outline:none;margin-bottom:16px;-webkit-appearance:none}.modal-input:focus{border-color:var(--accent)}.modal-actions{display:flex;gap:8px;justify-content:flex-end}.builder-content{padding:16px 16px 40px;display:flex;flex-direction:column;gap:16px}.builder-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;display:flex;flex-direction:column;gap:8px}.builder-panel-label{font-size:11px;font-weight:600;letter-spacing:.7px;text-transform:uppercase;color:var(--text-secondary)}.builder-textarea{width:100%;border:none;padding:0;font-family:var(--font);font-size:16px;line-height:1.65;color:var(--text-primary);background:transparent;resize:none;outline:none;min-height:3.3em;overflow-y:hidden;-webkit-appearance:none}.builder-textarea::placeholder{color:var(--text-placeholder)}.builder-next{align-self:flex-end;margin-top:4px}.builder-done{width:100%;margin-top:8px}
